Explication détaillée des étapes pour générer des vignettes en PHP, des exemples de code spécifiques sont nécessaires
À l'ère actuelle de développement rapide d'Internet, les images sont un élément indispensable des pages Web, mais les images haute résolution ne prendront pas seulement beaucoup de bande passante, mais cela affectera également la vitesse de chargement des pages Web de l'utilisateur. Par conséquent, nous devons souvent générer des vignettes à partir d’images originales pour réduire la taille de l’image et celle du fichier.
En tant que langage de script côté serveur populaire, PHP fournit de riches fonctions de traitement d'images qui peuvent être utilisées pour générer des vignettes. Ce qui suit présentera en détail les étapes de génération de vignettes en PHP et donnera des exemples de code spécifiques.
Étape 1 : Déterminez la taille de l'image originale et de la vignette
Avant de générer une vignette, vous devez d'abord déterminer la taille de l'image originale et la taille de la vignette générée. Généralement, les vignettes sont plus petites que l'image originale afin de réduire la taille du fichier. Vous pouvez obtenir la taille de l'image originale via la fonctiongetimagesize()
de PHP, comme indiqué ci-dessous :getimagesize()
函数获取到原始图片的尺寸,如下所示:
$info = getimagesize('path/to/original/image.jpg'); $originalWidth = $info[0]; $originalHeight = $info[1];
步骤二:创建缩略图画布
在生成缩略图之前,需要创建一个新的画布,用来绘制缩略图。可以使用PHP的imagecreatetruecolor()
函数创建一个指定尺寸的画布,如下所示:
$thumbnailWidth = 200; // 缩略图宽度 $thumbnailHeight = 150; // 缩略图高度 $thumbnail = imagecreatetruecolor($thumbnailWidth, $thumbnailHeight);
步骤三:复制和缩放原始图片到缩略图画布
将原始图片复制并缩放到缩略图画布上,可以使用PHP的imagecreatefromjpeg()、imagecreatefrompng()、imagecreatefromgif()
等函数创建原始图片资源,再使用imagecopyresampled()
函数将原始图片复制并缩放到缩略图画布上,如下所示:
$original = imagecreatefromjpeg('path/to/original/image.jpg'); // 原始图片资源 imagecopyresampled($thumbnail, $original, 0, 0, 0, 0, $thumbnailWidth, $thumbnailHeight, $originalWidth, $originalHeight);
步骤四:保存生成的缩略图
生成缩略图之后,可以使用imagejpeg()、imagepng()、imagegif()
imagejpeg($thumbnail, 'path/to/thumbnail/image.jpg');
imagecreatetruecolor()
de PHP pour créer un canevas de la taille spécifiée, comme indiqué ci-dessous :
$info = getimagesize('path/to/original/image.jpg'); $originalWidth = $info[0]; $originalHeight = $info[1]; $thumbnailWidth = 200; // 缩略图宽度 $thumbnailHeight = 150; // 缩略图高度 $thumbnail = imagecreatetruecolor($thumbnailWidth, $thumbnailHeight); $original = imagecreatefromjpeg('path/to/original/image.jpg'); // 原始图片资源 imagecopyresampled($thumbnail, $original, 0, 0, 0, 0, $thumbnailWidth, $thumbnailHeight, $originalWidth, $originalHeight); imagejpeg($thumbnail, 'path/to/thumbnail/image.jpg');
imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromgif()
de PHP et d'autres fonctions pour créer des ressources d'image originales, puis utiliser
imagecopyresampled() code> pour copier l'image originale Copiez et zoomez sur le canevas de vignettes, comme indiqué ci-dessous : rrreee
Étape 4 : Enregistrez la vignette générée Après avoir généré la vignette, vous pouvez utiliser imagejpeg(), imagepng() , imagegif()
Attendez que la fonction enregistre la vignette dans le chemin de fichier spécifié, comme indiqué ci-dessous : rrreee L'exemple de code complet est le suivant : rrreee Grâce aux étapes ci-dessus, nous pouvons utiliser PHP pour générer des vignettes et les enregistrer dans le chemin de fichier spécifié. De cette manière, les miniatures peuvent être utilisées dans les pages Web pour réduire la taille des images et des fichiers, et améliorer la vitesse de chargement des pages Web de l'utilisateur. RésuméCet article détaille les étapes pour générer des vignettes en PHP et donne des exemples de code spécifiques. En utilisant des miniatures dans les pages Web, vous pouvez réduire la taille des images et des fichiers, augmenter la vitesse de chargement des pages Web et améliorer l'expérience utilisateur. En maîtrisant les fonctions de traitement d'images de PHP, on peut facilement implémenter la fonction de génération de vignettes.
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!