Maison >développement back-end >Problème PHP >Comment redimensionner des images ou créer des vignettes en php

Comment redimensionner des images ou créer des vignettes en php

王林
王林original
2019-12-14 10:26:474832parcourir

Comment redimensionner des images ou créer des vignettes en php

Utilisez le code suivant pour modifier la taille de l'image ou créer une vignette.

Description du paramètre :

$filename : nom du fichier.

$tmpname : chemin du fichier, tel que le répertoire temporaire lors du téléchargement.

$xmax : largeur maximale modifiée.

$ymax : hauteur maximale après modification.

Recommandation de didacticiel vidéo d'apprentissage gratuit : Tutoriel vidéo php

Exemple de code :

<?php
// 重置图片文件大小
function resize_image($filename, $tmpname, $xmax, $ymax){    
    $ext = explode(".", $filename);    
    $ext = $ext[count($ext)-1];
     if($ext == "jpg" || $ext == "jpeg")        
     $im = imagecreatefromjpeg($tmpname);    
     elseif($ext == "png")        
     $im = imagecreatefrompng($tmpname);    
     elseif($ext == "gif")        
     $im = imagecreatefromgif($tmpname);
     $x = imagesx($im);    
     $y = imagesy($im);
     if($x <= $xmax && $y <= $ymax)        
     return $im;
     if($x >= $y) {        
     $newx = $xmax;        
     $newy = $newx * $y / $x;    
     }    
     else {        
     $newy = $ymax;        
     $newx = $x / $y * $newy;    
     }
     $im2 = imagecreatetruecolor($newx, $newy);    
     imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);    
     return $im2; 
     }
     ?>

Recommandation de didacticiel d'article connexe : Tutoriel php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn