Soyez le premier à donner votre avis sur cette source.
Snippet vu 14 177 fois - Téléchargée 29 fois
<? //////////////////////////////////////////////// // 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); ?>
Je comprend pas trop l'histoire avec $max_y
J'avait besoin de pouvoir paramétrer soit la hauteur soit la longeur sans avoir à créer 2 fichiers alors je l'ai un peu remixé et j'ai enlevé l'histoire de $max_y.
Source :
<?php
////////////////////////////////////////////////
// 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 //
// 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');
$img = 'Zed_Art-Digital_00059.jpeg';//Image
$img_x = 150;// Largeur de la miniature
$img_y = 150;// Hauteur de la miniature
// 0: On contrôle la largeur.
// 1: On contrôle la hauteur.
$type = 0;
//on charge l'image $img dans $img_big:
$img_big = imagecreatefromjpeg($img);
//on demande les dimension de l'image $img:
$size = getimagesize($img);
if($type === 0){
if($img_x <= 0){
$img_x = $size[0];
}
$img_y = round(($size[1]*$img_x)/$size[0]);
}else{
if($img_y <= 0){
$img_y = $size[1];
}
$img_x = round(($size[0]*$img_y)/$size[1]);
}
//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);
?>
Ensuite je pensais pour afficher l'image plus vite si on utilisait
ob_start('ob_gzhandler'); ???
Utilisation :
Ligne 1 :
ob_start('ob_gzhandler');
Dernière ligne :
ob_end_flush();
@+
Nikel !!!!
Super trop cool!!!!
Merci.
@+
10/10 ;-)
remplace <? par <?php
ensuite pour avoir la largeur et hauteur de l'image il existe une méthode plus rapide que getimagesize()
imagesx()
et imagesy()
http://fr.php.net/manual/fr/function.imagesx.php
http://fr.php.net/manual/fr/function.imagesy.php
a ++
l'image obtenu est de meilleur qualite...
a+
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.