Maison  >  Article  >  développement back-end  >  Comment utiliser php pour modifier des images

Comment utiliser php pour modifier des images

PHPz
PHPzoriginal
2023-04-24 09:07:08926parcourir

Avec le développement continu des applications Web, nous devons souvent modifier et ajuster par lots les images de nos sites Web. PHP est un langage de programmation Web largement utilisé et fournit également de nombreuses fonctions et classes intégrées qui facilitent la modification des images. Cet article explique comment utiliser PHP pour modifier des images.

  1. Formats d'image

Avant de commencer à modifier des images, nous devons comprendre certains formats d'image courants. Les formats d'image courants incluent JPEG, PNG, GIF, etc. Leurs extensions de fichier sont respectivement .jpg, .png et .gif. Lors du traitement d'images, il est important de connaître le format de l'image, car chaque format a ses propres méthodes et propriétés de traitement spécifiques.

  1. Créer une image

En PHP, nous pouvons créer une nouvelle image vierge en utilisant la fonction imagecreatetruecolor(). syntaxe :

$image = imagecreatetruecolor(width, height);

Les paramètres width et height représentent la largeur et la hauteur de l'image nouvellement créée. Cette image vierge peut être utilisée comme image de base, qui peut être utilisée pour ajouter du texte ou d'autres images, etc.

  1. Chargement des images

Lors de la modification d'une image existante, nous devons charger un fichier existant et le modifier si nécessaire. En PHP, nous pouvons charger des images aux formats JPEG, PNG et GIF en utilisant les fonctions imagecreatefromjpeg(), imagecreatefrompng() et imagecreatefromgif(). Ces fonctions chargent les fichiers image en mémoire afin que nous puissions les modifier comme bon nous semble.

syntaxe :

$image = imagecreatefromjpeg('example.jpg'); //加载一个JPEG格式的图像
$image = imagecreatefrompng('example.png'); //加载一个PNG格式的图像
$image = imagecreatefromgif('example.gif'); //加载一个GIF格式的图像

Ici, nous allons charger une image au format JPEG nommée "example.jpg". Pour charger des images dans différents formats, modifiez simplement la fonction et l'extension de fichier appropriées.

  1. Redimensionner l'image

Redimensionner une image est un moyen simple de modifier votre image. Nous pouvons utiliser la fonction imagecopyresampled pour redimensionner l'image. Cette fonction copie une image sur une autre image, en la redimensionnant à la taille spécifiée.

syntaxe :

imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_width, $dst_height, $src_width, $src_height);

Le paramètre $dst_image est l'image cible (c'est-à-dire la nouvelle image) et $src_image est l'image source (c'est-à-dire l'image originale). $dst_x et $dst_y sont les coordonnées de l'image cible, $src_x et $src_y sont les coordonnées de l'image source. $dst_width et $dst_height sont la largeur et la hauteur de l'image cible, $src_width et $src_height sont la largeur et la hauteur de l'image source. La fonction extraira une partie de l'image source à la taille spécifiée et la copiera dans l'image de destination.

Ce qui suit est un exemple de code pour redimensionner une image à l'aide de la fonction imagecopyresampled() :

$src_image = imagecreatefromjpeg('example.jpg'); //加载原始图像
list($width, $height) = getimagesize('example.jpg'); //获取原始图像尺寸

$scale = 0.5; // 缩放比例

$dst_image = imagecreatetruecolor($width * $scale, $height * $scale); // 创建缩小的目标图像

// 缩小原始图像
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $width * $scale, $height * $scale, $width, $height);

// 输出图像
header('Content-Type: image/jpeg');
imagejpeg($dst_image);
imagedestroy($src_image);
imagedestroy($dst_image);
  1. Remplir une image

Remplir une image fait référence au processus d'ajout d'un patch d'une couleur spécifiée à une zone spécifique dans un image. Ceci est généralement utilisé pour ajouter des arrière-plans et des filtres de couleur. En PHP, nous pouvons utiliser la fonction imagefill() pour remplir des images. Cette fonction accepte deux paramètres : $image et $color. Le paramètre $image est l'image qui doit être remplie et $color est la couleur spécifiée.

Voici un exemple de code pour remplir la couleur d'arrière-plan de l'image avec du blanc :

$image = imagecreatefromjpeg('example.jpg'); //加载原始图像

// 获取图像宽度和高度
list($width, $height) = getimagesize('example.jpg');

// 创建一个白色的填充
$white = imagecolorallocate($image, 255, 255, 255);

// 填充图像背景
imagefill($image, 0, 0, $white);

// 输出图像
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
  1. Ajouter du texte

L'ajout de texte aux images est un besoin courant. Les fonctions intégrées telles que imagestring(), imagestringup(), imagettftext() et imagettfbbox() en PHP peuvent facilement ajouter du texte aux images.

Voici un exemple de code pour ajouter du texte rouge à une image :

$image = imagecreatefromjpeg('example.jpg'); //加载原始图像

// 创建颜色
$text_color = imagecolorallocate($image, 255, 0, 0); //红色

// 添加文本
imagestring($image, 5, 50, 50, 'Hello, world!', $text_color); //渲染文本

// 输出图像
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
  1. Enregistrez l'image

Enfin, nous devons enregistrer l'image modifiée sur le serveur ou sur notre ordinateur local. En PHP, nous pouvons utiliser les fonctions imagejpeg(), imagepng() et imagegif() pour enregistrer des images au format JPEG, PNG ou GIF dans un répertoire spécifié.

Voici un exemple de code pour enregistrer l'image modifiée au format JPEG :

$dst_image = imagecreatefromjpeg('example.jpg'); //加載原始图像
list($width, $height) = getimagesize('example.jpg'); // 获取原始图像尺寸

// 调整图像大小
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $width * $scale, $height * $scale, $width, $height);

// 保存图像为JPEG格式
imagejpeg($dst_image, 'example_new.jpg', 100);

// 输出图像
header('Content-type: image/jpeg');
imagejpeg($dst_image);

// 销毁图像资源
imagedestroy($src_image);
imagedestroy($dst_image);

Résumé

Modifiez les images rapidement et facilement en PHP à l'aide des fonctions et des classes intégrées. En maîtrisant les opérations telles que le chargement, le redimensionnement, le remplissage, l'ajout de texte et l'enregistrement d'images, nous pouvons facilement créer de belles images. Bien que les technologies correspondantes continuent de se développer et d'évoluer, ces opérations de base constituent toujours une partie importante du traitement de l'image et constituent les compétences de base que nous devons connaître.

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