Maison >développement back-end >tutoriel php >Comment recadrer et redimensionner des images en utilisant PHP
Comment utiliser PHP pour recadrer et zoomer des images
Introduction : En développement web, il est souvent nécessaire de recadrer et de zoomer des images. En tant que langage côté serveur populaire, PHP fournit une multitude de fonctions et de bibliothèques de traitement d'images pour faciliter diverses opérations sur les images. Cet article explique comment utiliser PHP pour recadrer et zoomer des images et fournit des exemples de code correspondants.
1. Recadrer l'image
Recadrer l'image signifie découper la partie dont nous avons besoin dans l'image originale. En PHP, le recadrage des images peut être réalisé à l'aide des fonctions fournies par la bibliothèque GD.
Étape 1 : Ouvrir l'image originale
Tout d'abord, nous devons ouvrir l'image originale et créer une ressource image à l'aide de fonctions telles que imagecreatefromjpeg()
ou imagecreatefrompng()
. imagecreatefromjpeg()
或imagecreatefrompng()
等函数创建一个图片资源。
$sourceImage = imagecreatefromjpeg('original.jpg');
步骤2:创建目标图片
接下来,我们需要创建一个目标图片,作为裁剪后的结果。可以使用imagecreatetruecolor()
函数创建一个与原始图片一样大小的图片资源。
$width = imagesx($sourceImage); $height = imagesy($sourceImage); $targetImage = imagecreatetruecolor($width, $height);
步骤3:裁剪图片
使用函数imagecopy()
将原始图片中的一部分复制到目标图片中。需要传入原始图片资源、目标图片资源、目标图片的起始坐标和原始图片的起始坐标。下面以从原始图片中截取中间一部分作为示例。
$targetX = 0; $targetY = 0; $sourceX = $width / 4; $sourceY = $height / 4; $targetWidth = $width / 2; $targetHeight = $height / 2; $sourceWidth = $width / 2; $sourceHeight = $height / 2; imagecopy($targetImage, $sourceImage, $targetX, $targetY, $sourceX, $sourceY, $targetWidth, $targetHeight);
步骤4:保存结果图片
最后,我们需要将裁剪后的结果保存到文件中。使用imagejpeg()
函数将目标图片保存为JPEG格式的文件。
imagejpeg($targetImage, 'cropped.jpg');
至此,我们完成了对图片的裁剪操作。
二、缩放图片
缩放图片是指按照一定比例改变图片的尺寸。在PHP中,我们可以使用GD库提供的函数来实现图片的缩放。
步骤1:打开原始图片
同样,我们首先需要使用imagecreatefromjpeg()
或imagecreatefrompng()
等函数打开原始图片。
$sourceImage = imagecreatefromjpeg('original.jpg');
步骤2:计算缩放后的尺寸
计算出目标图片的宽度和高度,可以按比例缩放或指定固定的尺寸。
$scale = 0.5; // 缩放比例,此处为缩小一半 $targetWidth = imagesx($sourceImage) * $scale; $targetHeight = imagesy($sourceImage) * $scale;
步骤3:创建目标图片
在创建目标图片时,需要使用imagecreatetruecolor()
函数指定目标图片的尺寸。
$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);
步骤4:缩放图片
使用函数imagecopyresampled()
将原始图片按照指定的尺寸缩放到目标图片中。
imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, imagesx($sourceImage), imagesy($sourceImage));
步骤5:保存结果图片
最后,使用imagejpeg()
或imagepng()
imagejpeg($targetImage, 'resized.jpg');Étape 2 : Créer l'image cibleEnsuite, nous devons créer une image cible comme résultat recadré. Vous pouvez utiliser la fonction
imagecreatetruecolor()
pour créer une ressource image de la même taille que l'image d'origine. rrreee
Étape 3 : Recadrer l'image Utilisez la fonctionimagecopy()
pour copier une partie de l'image originale vers l'image cible. Vous devez transmettre la ressource image d'origine, la ressource image cible, les coordonnées de départ de l'image cible et les coordonnées de départ de l'image d'origine. Ce qui suit est un exemple de capture de la partie centrale de l'image originale. imagejpeg()
pour enregistrer l'image cible sous forme de fichier au format JPEG. imagecreatefromjpeg()
ou imagecreatefrompng()
. 🎜rrreee🎜Étape 2 : Calculez la taille mise à l'échelle🎜🎜Calculez la largeur et la hauteur de l'image cible, qui peuvent être mises à l'échelle proportionnellement ou spécifier une taille fixe. 🎜rrreee🎜Étape 3 : Créer l'image cible🎜🎜Lors de la création de l'image cible, vous devez utiliser la fonction imagecreatetruecolor()
pour spécifier la taille de l'image cible. 🎜rrreee🎜Étape 4 : Redimensionner l'image🎜🎜Utilisez la fonction imagecopyresampled()
pour redimensionner l'image originale à l'image cible en fonction de la taille spécifiée. 🎜rrreee🎜Étape 5 : Enregistrez l'image résultante🎜🎜Enfin, utilisez des fonctions telles que imagejpeg()
ou imagepng()
pour enregistrer l'image cible sous forme de fichier. 🎜rrreee🎜 a terminé l'opération de zoom sur la photo. 🎜🎜Résumé : cet article explique comment utiliser PHP pour recadrer et zoomer des images, notamment ouvrir l'image d'origine, créer l'image cible, recadrer et mettre à l'échelle l'image et enregistrer l'image résultante. Grâce aux fonctions de la bibliothèque GD fournies par PHP, nous pouvons facilement implémenter diverses opérations sur les images. J'espère que cet article vous aidera à comprendre et à utiliser PHP pour le traitement d'images. 🎜🎜Références : 🎜🎜🎜Documentation officielle PHP : http://php.net/manual/en/ref.image.php 🎜🎜Manuel de référence de la bibliothèque GD : http://php.net/manual/en/book image. .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!