Redimensionner les images

8 messages dans ce sujet

Posté(e) · Signaler ce message

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 ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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. :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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 :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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 ! ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

• 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 :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping