Maison  >  Article  >  développement back-end  >  Bibliothèque GD et fonctions associées en PHP

Bibliothèque GD et fonctions associées en PHP

WBOY
WBOYoriginal
2023-06-22 20:52:382713parcourir

La bibliothèque GD et ses fonctions associées en PHP

La bibliothèque GD est une bibliothèque graphique très puissante en langage PHP. Elle peut être utilisée pour traiter des images, générer dynamiquement des images et des vignettes, etc. Cet article présentera les concepts pertinents et les fonctions communes de la bibliothèque GD.

  1. Installation de la bibliothèque GD

Avant d'utiliser la bibliothèque GD, vous devez vous assurer que la bibliothèque a été installée sur le système. Vous pouvez entrer la commande suivante sur la ligne de commande pour vérifier si la bibliothèque GD a été installée :

php -m | grep -i gd

Si "gd" est affiché, cela signifie que la bibliothèque GD a été installée si la sortie est vide, vous devez utiliser ; la commande suivante pour installer la bibliothèque GD dans le système :

sudo apt-get install php7.2-gd
  1. Concept de base de la bibliothèque GD

La bibliothèque GD est une bibliothèque graphique multiplateforme open source, qui peut être utilisée pour traiter des images, générer des images et des vignettes, etc. . Lorsque la bibliothèque GD traite une image, elle convertit l'image en une collection de pixels et traite chaque pixel. Un pixel comprend généralement trois valeurs de couleur : rouge, vert et bleu. En traitant ces trois valeurs de couleur, des images de différentes couleurs peuvent être obtenues.

  1. Fonctions couramment utilisées de la bibliothèque GD

La bibliothèque GD fournit de nombreuses fonctions très utiles Plusieurs fonctions couramment utilisées seront présentées ci-dessous.

3.1. imagecreatetruecolor()

La fonction imagecreatetruecolor est utilisée pour créer une image en vraies couleurs :

resource imagecreatetruecolor ( int $width , int $height )

où $width et $height sont la largeur et la hauteur de l'image, et la valeur de retour est. un handle de ressource image.

Ce qui suit est un exemple d'utilisation de la fonction imagecreatetruecolor pour créer un rectangle rouge de 300x200 :

<?php
// 创建一个300x200的真彩色图像
$img = imagecreatetruecolor(300, 200);

//定义红色
$red = imagecolorallocate($img, 255, 0, 0);

//在图像上画一个填充了红色的矩形
imagefilledrectangle($img, 0, 0, 300, 200, $red);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($img);

//释放图像资源
imagedestroy($img);
?>

3.2. imagecreatefromjpeg()

La fonction imagecreatefromjpeg est utilisée pour créer un descripteur de ressource image lu à partir d'un fichier image JPG, qui est déclaré. comme suit :

resource imagecreatefromjpeg ( string $filename )

Parmi eux, $filename est le nom du fichier image JPG et la valeur de retour est un handle de ressource image.

Ce qui suit est un exemple d'utilisation de la fonction imagecreatefromjpeg pour lire un fichier image JPG et le redimensionner :

<?php
//从文件中创建一个图像资源
$src_image = imagecreatefromjpeg('source.jpg');

//获取原始图像的宽和高
list($src_width, $src_height) = getimagesize('source.jpg');

//创建一个新的缩放后的图像资源
$dst_image = imagecreatetruecolor(100, 100);

//将原始图像按照比例缩放到新的图像资源中
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, 100, 100, $src_width, $src_height);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($dst_image);

//释放图像资源
imagedestroy($src_image);
imagedestroy($dst_image);
?>

3.3 imagecopymerge()

La fonction imagecopymerge est utilisée pour recouvrir une image sur une autre image et définir la transparence, et Sa déclaration est la suivante :

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

Parmi eux, $dst_im est le handle de ressource de l'image cible, $src_im est le handle de ressource de l'image source, $dst_x et $dst_y sont les coordonnées de départ dans l'image cible, $src_x et $src_y sont les coordonnées de départ dans l'image source, $src_w et $src_h sont la largeur et la hauteur de l'image source, $pct est la transparence, allant de 0 à 100.

Voici un exemple d'utilisation de la fonction imagecopymerge pour superposer une image circulaire dans un autre fond de carte :

<?php
//从文件中创建一个底图
$bg_image = imagecreatefrompng('bg.png');

//从文件中创建一个圆形图像
$circle_image = imagecreatefrompng('circle.png');

//获取圆形图像的宽和高
list($circle_width, $circle_height) = getimagesize('circle.png');

//定义透明度为60%
$pct = 60;

//将圆形图像复制到底图中
imagecopymerge($bg_image, $circle_image, 100, 100, 0, 0, $circle_width, $circle_height, $pct);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($bg_image);

//释放图像资源
imagedestroy($bg_image);
imagedestroy($circle_image);
?>
  1. Summary

La bibliothèque GD est une bibliothèque graphique très utile grâce à laquelle les images peuvent être facilement manipulées et générées. Cet article présente l'installation, les concepts de base et les fonctions communes de la bibliothèque GD. En apprenant et en utilisant la bibliothèque GD, nous pouvons rendre nos applications PHP plus flexibles et plus puissantes.

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