Explication détaillée des étapes pour générer des vignettes en PHP

WBOY
Libérer: 2023-09-13 08:52:02
original
1497 Les gens l'ont consulté

Explication détaillée des étapes pour générer des vignettes en PHP

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 fonction getimagesize() de PHP, comme indiqué ci-dessous : getimagesize()函数获取到原始图片的尺寸,如下所示:

$info = getimagesize('path/to/original/image.jpg');
$originalWidth = $info[0];
$originalHeight = $info[1];
Copier après la connexion

步骤二:创建缩略图画布

在生成缩略图之前,需要创建一个新的画布,用来绘制缩略图。可以使用PHP的imagecreatetruecolor()函数创建一个指定尺寸的画布,如下所示:

$thumbnailWidth = 200; // 缩略图宽度
$thumbnailHeight = 150; // 缩略图高度

$thumbnail = imagecreatetruecolor($thumbnailWidth, $thumbnailHeight);
Copier après la connexion

步骤三:复制和缩放原始图片到缩略图画布

将原始图片复制并缩放到缩略图画布上,可以使用PHP的imagecreatefromjpeg()、imagecreatefrompng()、imagecreatefromgif()等函数创建原始图片资源,再使用imagecopyresampled()函数将原始图片复制并缩放到缩略图画布上,如下所示:

$original = imagecreatefromjpeg('path/to/original/image.jpg'); // 原始图片资源

imagecopyresampled($thumbnail, $original, 0, 0, 0, 0, $thumbnailWidth, $thumbnailHeight, $originalWidth, $originalHeight);
Copier après la connexion

步骤四:保存生成的缩略图

生成缩略图之后,可以使用imagejpeg()、imagepng()、imagegif()

imagejpeg($thumbnail, 'path/to/thumbnail/image.jpg');
Copier après la connexion

Étape 2 : Créer un canevas de vignette

Avant de générer une vignette, vous devez en créer une nouvelle. toile , utilisée pour dessiner des vignettes. Vous pouvez utiliser la fonction 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');
Copier après la connexion
Étape 3 : Copiez et redimensionnez l'image originale sur le canevas miniature

Copiez et redimensionnez l'original image sur Sur le canevas des vignettes, vous pouvez utiliser 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 : <p>rrreee</p>Étape 4 : Enregistrez la vignette générée 🎜🎜Après avoir généré la vignette, vous pouvez utiliser <code>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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!