Redimensionner les images

8 posts in this topic

Posted · Report post

Bonjour,

Comme l'indique le titre de mon sujt, je voudrais savoir comment redimensionner les images dynamiquement. Si vous pouvez me donner une piste.

Merci ;)

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Comme l'indique le titre de mon sujt, je voudrais savoir comment redimensionner les images dynamiquement. Si vous pouvez me donner une piste.

Merci ;)

ca depend lesquelles tu veux redimmensionner

Share this post


: post
Share on other sites

Posted · Report post

ca depend lesquelles tu veux redimmensionner

Merci de l'intérêt que tu portes à ma question.

Je voudrais, si c'est possible, faire une miniature, dans l'idéal carré, pour le produit en page d'accueil. ( --> Il s'agit bien de l'image sur index.php)

Mais surtout, j'aimerais que l'image qui illustra le produit fasse une taille maximale. ( --> Il s'agit bien de l'imagesur produit_details.php)

J'ai essayé des script que j'avais développé pour d'autres applications, mais sans succès. J'ai également essayé avec un script développé sur asp-php.net... en vain.

Merci donc de me mettre sur une piste.

Nak1doigt

Share this post


: post
Share on other sites

Posted · Report post

Merci de l'intérêt que tu portes à ma question.

Je voudrais, si c'est possible, faire une miniature, dans l'idéal carré, pour le produit en page d'accueil. ( --> Il s'agit bien de l'image sur index.php)

Mais surtout, j'aimerais que l'image qui illustra le produit fasse une taille maximale. ( --> Il s'agit bien de l'imagesur produit_details.php)

J'ai essayé des script que j'avais développé pour d'autres applications, mais sans succès. J'ai également essayé avec un script développé sur asp-php.net... en vain.

Merci donc de me mettre sur une piste.

Nak1doigt

Ben je ne suis pas sûr d'avoir bien compris la question, mais il me semble que les arguments de dimensionnement des balises <img> font déjà ça, non ?

Prenons une image rectangulaire horizontale toto.gif de (300x200) pixels, par exple :

- <img src="toto.gif"> ... l'appelle à sa vraie taille, appel normal d'une image => ça, c'est que fait (achat/produit_details.php)

- <img src="toto.gif" width="150"> ... l'appelle en 150px de la large, la hteur est déterminée automatiquement pour que les proportions de l'image soient conservées => ça, c'est que fait (achat/index.php). Si on fixe la hauteur (height), c'est pareil.

... équivalent ici à ... <img src="toto.gif" width="50%">

- <img src="toto.gif" width="150" height="200"> ... déforme l'image 1/2 en largeur et conserve la hteur.

...équivalent ici à... <img src="toto.gif" width="50%" height="100%">

Donc si tu veux faire une miniature d'une image quelconque, il suffit de l'appeler par :

<img src="monimage.gif" height="10%"> par exple, si tu veux que ta miniature fasse 10% de la hteur de l'image source, ou bien ...

<img src="monimage.gif" width="20"> si tu veux que ta miniature fasse exactement 20px de large

• Ça répond à ta question ? ;)

En général, les réductions d'images donnent de meilleurs résultats avec les JPG qu'avec les GIF, où le nbre limité de couleurs fait que le résultat n'est pas super.

Share this post


: post
Share on other sites

Posted · Report post

Ben je ne suis pas sûr d'avoir bien compris la question, mais il me semble que les arguments de dimensionnement des balises <img> font déjà ça, non ?

Prenons une image rectangulaire horizontale toto.gif de (300x200) pixels, par exple :

- <img src="toto.gif"> ... l'appelle à sa vraie taille, appel normal d'une image => ça, c'est que fait (achat/produit_details.php)

- <img src="toto.gif" width="150"> ... l'appelle en 150px de la large, la hteur est déterminée automatiquement pour que les proportions de l'image soient conservées => ça, c'est que fait (achat/index.php). Si on fixe la hauteur (height), c'est pareil.

... équivalent ici à ... <img src="toto.gif" width="50%">

- <img src="toto.gif" width="150" height="200">[/b... déforme l'image 1/2 en largeur et conserve la hteur.

...équivalent ici à... <img src="toto.gif" width="50%" height="100%">

Donc si tu veux faire une miniature d'une image quelconque, il suffit de l'appeler par :

<img src="monimage.gif" height="10%"> par exple, si tu veux que ta miniature fasse 10% de la hteur de l'image source, ou bien ...

<img src="monimage.gif" width="20"> si tu veux que ta miniature fasse exactement 20px de large

• Ça répond à ta question ? ;)

En général, les réductions d'images donnent de meilleurs résultats avec les JPG qu'avec les GIF, où le nbre limité de couleurs fait que le résultat n'est pas super.

Aïe... merci... mais c'est vrai que je n'ai pas spécifier que je voulais faire ca en php... en effet, comme tu le dis, lorsque l'on spécifie une taille d'image avec les balises html, la réduction n'est pas toujours très jolie. De plus, le panier que je développe est pour un client. Aussi, il ne maitrise assé mal l'outil informatique. Il se peut donc parfois qu'il télécharge une image beaucoup trop grande. Se qui sacagerait la mise en page.

Je voulais donc réaliser un script en php, qui redimensionnerait l'image lors de l'upload de cette dernière, à la création de la fiche produit.

Suis je plus clair?

Merci quand même. A défault, je fonctionne avec ta méthode pour le moment. :)

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Comme l'indique le titre de mon sujt, je voudrais savoir comment redimensionner les images dynamiquement. Si vous pouvez me donner une piste.

Merci ;)

Il y à aussi tout simplement le redimensionnement manuel ou automatique avec un logiciel approprié et tu mets tout ça dans un fichier "vignettes"

Alain :)

Share this post


: post
Share on other sites

Posted · Report post

Okay, je comprends mieux ce que tu veux faire.

... mais les proportions de l'image vont de toute façon être coton à gérer, pour les mises en pages, non ? ... faut prévoir les cas distincts "Image en hauteur" et "Image en largeur" ... et peut être même "Image carrée" ... faisable et élégant, effectivement.

• Si tu trouves une soluce, communique là ... je pense que ça pourrait en intéresser plus d'un ! ;)

Share this post


: post
Share on other sites

Posted · Report post

• Si tu trouves une soluce, communique là ... je pense que ça pourrait en intéresser plus d'un ! ;)

Bon, ben... essaie çà ... pour voir ...

<?php


		$affiche=150; 


			$image='dossier/image/photo1.jpg'; // adresse de l'image 

			if (!file_exists($image)) 

			// image de substitution (mieux qu'une croix rouge)

			{ 

			$image='dossier/image/no-pict.gif'; 

			$largeur2=84;  //à ajuster

			$hauteur2=60;  //à ajuster

			} 

			else 

			{ 

			$taille=getimagesize($image); 

			$largeur=$taille[0]; 

			$hauteur=$taille[1]; 


			//image verticale ou carrée 

			if ($hauteur>=$largeur) 

			{ 

			$hauteur2=$affiche; 

			$largeur2=round(($hauteur2/$hauteur)*$largeur); 

			} 


			//image horizontale ou carrée 

			else 

			{ 

			$largeur2=$affiche; 

			$hauteur2=round(($largeur2/$largeur)*$hauteur); 

			} 

			} 

			echo" 

			<img border='0' src='$image' width='$largeur2'  height='$hauteur2'>";


?>

Quelques explications :

if (!file_exists($image)) ---> condition si $image n'existe pas

if (file_exists($image)) ---> condition si $image existe

$taille=getimagesize($image); ---> on calcule la taille de l'image

$largeur=$taille[0]; ---> on détermine la largeur

$hauteur=$taille[1]; ---> on détermine la hauteur

$affiche= taille de l'affichage souhaité;

$hauteur2 ou $largeur2=$affiche; ---> selon image Verticale ou Horizontale

---> on applique le ratio arrondi pour la largeur

$largeur2=round(($hauteur2/$hauteur)*$largeur);

---> on applique le ratio arrondi pour la hauteur

$hauteur2=round(($largeur2/$largeur)*$hauteur);

Allez! allez! au boulot!

Alain :)

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

Twitter Advisto ecommerce

Facebook PEEL Shopping