En avant pour différentes fonctions permettant le traitement d’images en php.
- Création de miniature (avec conservation des proportions) :
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869function md_min_img($imgp=NULL, $dim=250) {/** La miniature de nomimage.ext est enregistrée sous le nom nomimage_mini.ext a coté de l'image d'origine* $imgp correspond au chemin de l'image a redimensionner, $dim correspond a la taille en px du carre dans le quel la miniature doit rentrer* La fonction retourne 1 en cas d'erreur et 0 si tout s'est bien déroulé*/// Si $imgp n'est pas spécifié la fonction renvoie 1if ($imgp==NULL) { return 1; }else {// $nimge contient le nom de l'image et son extension (fonction basename)$nimge=basename($imgp);// On extrait uniquement l'extension avec la fonction strrchr$extm=strrchr($nimge,'.');// On supprime l'extension dans le nom de fichier$nimg=str_replace($extm,'',$nimge);// Selon le type de fichier on utilisera une fonction différente pour lire l'image. Il est possible de faire le test en identifiant le type MIMEswitch ($extm) {case '.jpg':case '.jpeg':$img=imagecreatefromjpeg($imgp);break;case '.png':$img=imagecreatefrompng($imgp);break;case '.gif':$img=imagecreatefromgif($imgp);break;default:return 1;break;}// On lit la taille de l'image d'origine$w_imgp=imagesx($img);$h_imgp=imagesy($img);// On calcul la réduction en % nécessaire pour faire entrer le plus grand coté de l'image dans le cadre de la miniature.// On calcul ensuite les dimensions de la miniature afin de conserver la proportion de l'imageif ($w_imgp>$h_imgp) {$ratio=$w_imgp/$dim;$w_imgm=$dim;$h_imgm=$h_imgp/$ratio;}else {$ratio=$h_imgp/$dim;$h_imgm=$dim;$w_imgm=$w_imgp/$ratio;}// Creation de l'image miniature et sont chemin d'enregistrement, accompagnée du "_mini"$imgmini=imagecreatetruecolor($w_imgm, $h_imgm);$imgminip=dirname($imgp)."/".$nimg."_mini".$extm;// On applique le redimensionnement avec les tailles calculées précédemment.imagecopyresampled($imgmini, $img, 0, 0, 0, 0, $w_imgm, $h_imgm, $w_imgp, $h_imgp);//On créer la miniature et supprimons les images en mémoire.imagejpeg($imgmini, $imgminip, 100);imagedestroy($img);imagedestroy($imgmini);return 0;}} - Application d’une watermark proportionée
- Gestion d’une image uploadé par un formulaire
Commentaires récents