Dans l'article précédent « Pourquoi l'opérateur === en PHP est-il plus rapide que == ? 》Vous avez expliqué pourquoi l'opérateur === en PHP est plus rapide que ==. Les amis intéressés peuvent en apprendre davantage ~
Le thème de cet article est de vous apprendre à ajuster la taille de l'image JPEG en PHP.
Dans le processus de développement de sites Web, nous sommes parfois confrontés à la nécessité de mettre en œuvre la fonction de mise à l'échelle des images, telles que les images de couverture, les vignettes, les images d'information, etc. La taille de l'image doit être précisée en fonction des besoins, mais chacun doit savoir aussi qu'en ce qui concerne la taille de l'image, on peut utiliser du HTML pour la modifier, comme suit :
<img src="001.jpg" style="max-width:90%" width="100" alt="图片尺寸">
Bien entendu, l'objectif de cet article est d'utiliser PHP pour ajuster la taille de l'image. Regardons directement le code :
Le code PHP est le suivant :
<?php $filename = '001.jpg'; // 最大宽度和高度 $width = 100; $height = 100; // 文件类型 header('Content-Type: image/jpg'); // 新尺寸 list($width_orig, $height_orig) = getimagesize($filename); $ratio_orig = $width_orig/$height_orig; if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } // 重采样的图像 $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // 输出图像 imagejpeg($image_p, null, 100);
L'effet est le suivant :
Ici, vous devez maîtriser une fonction importante imagecopyresampled( )
: imagecopyresampled()
:
(该函数适用版本PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagecopyresampled
imagecopyresampled
— Rééchantillonne et copie une partie du image et redimensionnez-la ; Syntaxe : imagecopyresampled( resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h ): bool
dst_image:目标图象资源。 src_image:源图象资源。 dst_x:目标 X 坐标点。 dst_y:目标 Y 坐标点。 src_x:源的 X 坐标点。 src_y:源的 Y 坐标点。 dst_w:目标宽度。 dst_h:目标高度。 src_w:源图象的宽度。 src_h:源图象的高度。
In other words, imagecopyresampled() will take a rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).
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!