Redimension d'image avant l'envoie au navigateur...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 056 fois - Téléchargée 29 fois

Contenu du snippet

ce petit morceau de code permet de redimensionner une image avant de l'envoyer au navigateur... tres tres utile et indispensable pour les sites i-mode.

Source / Exemple :


<?

////////////////////////////////////////////////
// Coded by mmaxuel for                       //
// http://xportal.free.fr/imode.php           //
//                                            //
// le site imode doivent avoir des images     //
// deja reduite, en effet, meme en utlisant   //
// les balises <img src="..." width="120">    //
// l'image lorsqu'elle est lu par le          //
// navigateur i-mode il verifie la taille     //
// et il la refuse si elle est trop grande    //
// d'ou l'utilité de reduire l'image avant    //
// de l'envoyer...                            //
// voila!                                     //
// pour toute question:                       //
//            rmoummed  hotmail . com        //
//                                            //
//                                            //
//                                            //
// exemple d'utilisation:                     //
// vous desirez reduire l'image Bateau.jpg    //
// avec une largeur de 120, la syntaxe sera   //
// resizepicture.php?img=Bateau.jpg&img_x=120 //
///////////////////////////////////////////////

//on enverra au navigateur un fichier de type image au format jpeg:
	header("Content-type: image/jpeg");

//on charge l'image $img dans $img_big:
	$img_big = imagecreatefromjpeg($img);
//on demande les dimension de l'image $img:
	$size = getimagesize($img);

if($img_x <= 0)
	$img_x = $size[0];
		
$img_y = floor($size[1] * $img_x / $size[0]);

if($max_y <= $img_y)
	{
	$img_y = $max_y;
	$img_x = floor($size[0] * $img_y / $size[1]);
	}
	
	//echo "$img_x $img_y";

//on fait une nouvelle image ayant pour dimension: largeur=img_x et hauteur=img_y :
$img_mini = imagecreatetruecolor ($img_x, $img_y); 

//on copie l'image d'origine contenu dans img_big dans img_mini en la reduisant a $img_x pour la largeur et $img_y pour la hauteur:
imagecopyresampled ($img_mini,$img_big,0,0,0,0,$img_x,$img_y,$size[0],$size[1]);

//on envoie l'image reduire au navigateur:
imagejpeg($img_mini);

?>

Conclusion :


n'hesitez pas a posé des questions...

A voir également

Ajouter un commentaire

Commentaires

matrey
Messages postés
399
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
6 septembre 2004
-
il faudrait éviter de la générer à chaque fois... Les services d'hébergement actuels proposent suffisamment d'escpace disque pour se permettre de stocker les miniatures...
mmaxuel
Messages postés
101
Date d'inscription
samedi 13 avril 2002
Statut
Membre
Dernière intervention
29 avril 2004
-
j'ai fait ça pour etendre l'acces du site http://xportal.free.fr au portable i-mode, et vu comme il est construit, je ne peux pas me permettre d'ajouter d'autre image... en fait si je pourrait mais bon comme j'ai pas trop le temsp de tou modifier je garde cette methode.

voila, mais sinon le code peut facilment etre modifier pour sauvegarder l'image generer...
cs_mehdibou
Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004
-
Intéressant et pratique pour pas à avoir à se coltiner les miniatures lors de l'upload d'images.
Pour info, utilisez imagecopyresampled() à la place de imagecopyresized() si la luminosité de la miniature n'est pas bonne.
cs_seed
Messages postés
99
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
19 mars 2005
-
comment faire si on ne traite pas que des images jpg ??? y a t il un moyen de se debrouiller sans recuperer l exention de l image pour en fontion de celle ci adapter imagecreatefrom$extention !!!!!
de plus bcp d hebergeur ne gerte plus le gif donc le imagecreatefromGIF ca passera pas!!!! je pense avoir la reponse mais je suis aps sur donc .. merci de me repondre ;-)
matrey
Messages postés
399
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
6 septembre 2004
-
le non-support du gif est du à la maj de GD, qui a préféré ne plus gérer le gif, pke les proprios du format commencaient à péter les couilles a vouloir demander des droits ($$$) sur l'utilisation du format... Pauvre web...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.