Maison  >  Article  >  développement back-end  >  Comment utiliser l'extension GD de PHP ?

Comment utiliser l'extension GD de PHP ?

WBOY
WBOYoriginal
2023-06-01 09:04:511290parcourir

Dans le développement Web, des opérations courantes telles que la création de vignettes d'images et de filigranes sont souvent nécessaires. Il est très pratique d'utiliser PHP pour effectuer ces opérations. L'extension GD de PHP est un bon choix, elle fournit des méthodes pratiques pour traiter les images.

  1. Installez l'extension GD

Si votre PHP n'a pas l'extension GD installée, vous devez d'abord installer l'extension. Sous Linux, vous pouvez utiliser la commande shell sudo apt-get install php7.0-gd进行安装,Windows下可以在PHP配置文件php.ini中将extension=gd2 pour supprimer les commentaires.

  1. Création d'une image de base

Créons maintenant une image PNG simple. La fonction imagecreate() de PHP peut être utilisée pour créer une image de base, et la largeur et la hauteur peuvent être spécifiées.

$width = 200;
$height = 200; 
$image = imagecreate($width, $height);

Ici, nous créons une image PNG 200×200 Pour plus de commodité, nous l'enregistrons localement :

header("Content-type: image/png"); 
imagepng($image, "test.png");

Une fois cette image générée, elle peut être trouvée dans test.png. Cette étape peut être utilisée pour créer des images de base pour de nombreux besoins.

  1. Définir le texte

Nous avons souvent besoin d'écrire du texte sur les images. L'extension GD fournit la fonction imagestring() pour effectuer cette opération :

$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
$fontFile = 'arial.ttf';
$fontSize = 20;
$text = 'Hello World!';
$x = 50;
$y = 150;

imagettftext($image, $fontSize, 0, $x, $y, $textColor, $fontFile, $text);

Ici, nous définissons la couleur d'arrière-plan, la couleur du texte, le fichier de police et la taille de la police. , Contenu et position du texte, et utilisez la fonction imagettftext() pour restituer le texte sur l'image. Pour utiliser la fonction imagettftext(), vous devez vous assurer que la bibliothèque FreeType a été correctement installée sur le serveur.

  1. Rotation de l'image

En plus d'écrire du texte sur l'image, nous devons également faire pivoter l'image de temps en temps. L'extension GD fournit également la fonction imagecopyrotate() pour effectuer cette opération :

$degrees = -45; 
$newImage = imagerotate($image, $degrees, 0);
imagepng($newImage, 'rotated.png');

Dans cet exemple. , l'image originale sera pivotée de 45 degrés et générera enfin un nouveau fichier PNG "rotated.png". En plus de la rotation, il existe de nombreuses autres opérations de traitement d'image qui peuvent être effectuées à l'aide des extensions GD.

  1. Ajouter un filigrane

Enfin, ajoutons un filigrane à l'image. Cela peut être fait en utilisant la fonction imagecopy(). Nous pouvons d'abord réduire le filigrane et définir l'opacité :

$watermark = imagecreatefrompng('watermark.png');
$watermarkWidth = imagesx($watermark);
$watermarkHeight = imagesy($watermark);
$newWidth = $width / 2;
$newHeight = $height / 2;
$newWatermark = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newWatermark, $watermark, 0, 0, 0, 0, $newWidth, $newHeight, $watermarkWidth, $watermarkHeight); 
imagecopymerge($image, $newWatermark, 0, 0, 0, 0, $newWidth, $newHeight, 50);

Ici, nous créons une image en filigrane et réduisons sa taille de moitié, puis l'ajoutons à l'image originale via imagecopymerge() et définissons l'opacité sur 50 % de transparence.

De cette façon, nous avons appris quelques utilisations de base de l'extension GD. Bien entendu, l'extension GD a de nombreuses autres fonctions. Si vous en avez besoin, vous pouvez consulter la documentation officielle pour voir plus d'utilisation.

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