Maison >développement back-end >Problème PHP >Comment sortir des images en PHP ? (Explication détaillée de la légende)
Dans l'article précédent, je vous ai présenté "Comment télécharger des fichiers en PHP ?" Vous comprendrez après l’avoir lu ! 》, qui vous présente en détail comment télécharger des fichiers en PHP. Dans cet article, jetons un coup d'œil aux connaissances pertinentes sur le traitement d'images en PHP. J'espère que cela sera utile à tout le monde !
Le traitement d'images est quelque chose que nous rencontrons souvent dans le travail PHP. Nous rencontrons de nombreux scénarios dans lesquels nous devons traiter des images, tels que des codes de vérification d'image, des filigranes d'image, etc. En fait, l'objectif de l'apprentissage du traitement d'images est en fait d'apprendre les fonctions du système GD en PHP. Le traitement d'images en PHP nécessite le support de la bibliothèque GD, examinons donc d'abord les connaissances pertinentes sur la bibliothèque GD.
Bibliothèque GD
La bibliothèque GD peut être comprise comme une bibliothèque de fonctions pour créer des images graphiques. La bibliothèque GD est en fait écrite en langage C et peut être utilisée en PHP. être utilisé en Perl Utilisée dans de nombreux langages, la bibliothèque GD fournit de nombreuses interfaces pour le traitement des images. L'utilisation de la bibliothèque GD en PHP permet de dessiner divers graphiques, images, graphiques statistiques et codes de vérification d'image sur la page. à réaliser.
Un exemple est le suivant :
<?php phpinfo(); ?>
Ou vous pouvez utiliser :
<?php print_r(gd_info()); ?>
Exécuter après la saisie. Si le résultat de sortie est tel qu'indiqué dans la figure ci-dessous, cela signifie également que la machine actuelle prend en charge le traitement d'image via GD.
S'il n'est pas installé, vous pouvez également le compléter en supprimant simplement le commentaire précédent de "extension=php_gd2.dll" dans le fichier de configuration php.ini sous le système Windows.
En PHP, l'opération de traitement des images via la bibliothèque GD est généralement divisée en 4 étapes de base :
Créer une toileTous nos dessins et traitements d'image doivent être effectués sur une image d'arrière-plan, qui est la toile, qui peut être comprise comme une image. Nous avons une zone temporaire dans la mémoire comme toile pour. stockage des informations sur l'image et les opérations d'image ultérieures seront effectuées sur cette zone, qui est le canevas.
imagecreate()
et imagecreatetruecolor()
sont utilisés pour créer un canevas. Leur format de syntaxe est le suivant :
imagecreate(int $width, int $height) imagecreatetruecolor(int $width, int $height)
Parmi eux, $width représente la largeur de. le canevas créé et peut également être compris. est la largeur de l'image, $height représente la hauteur du canevas créé, qui est la hauteur de l'image. Les deux fonctions peuvent être utilisées pour créer un canevas, mais la différence est que la. la gamme de couleurs qu’ils peuvent accueillir est différente. imagecreate()
和 imagecreatetruecolor()
用来创建画布,它们的语法格式如下:
<?php $img = @imagecreatetruecolor(120, 20) or die('画布创建失败!'); ?>
其中,$width 表示创建画布的宽度也可以理解为图像的宽度,$height 表示创建画布的高度也就是图像的高度
这两个函数都可以用来创建画布,不过其中不同的是,他们可以容纳的色彩范围不同。
示例如下:
<?php $img = @imagecreatetruecolor(120, 20) or die('画布创建失败!'); echo '画布的宽度为:'.imagesx($img).'像素'; echo '<br>画布的高度为:'.imagesy($img).'像素'; ?>
由于只是创建了一个画布上面并没有东西,浏览器也不会输出画布,但是可以通过 imagesx() 和 imagesy() 来获取图像的宽和高:
imagegif(resource $image[, string $filename]) imagejpeg(resource $image[, string $filename[, int $quality]]) imagepng(resource $image[, string $filename])
输出结果:
由此我们便完成了创建一个画布。
除了使用上面两个函数创建画布之外,还可以通过以下方式,通过文件或者url创建图像:
imagecreatefromgif()
: 通过 GIF 文件或者 URL 新建一个图像
imagecreatefromjpeg()
: 通过 JPEG 文件或者 UR 新建一个图像
imagecreatefrompng()
: 通过 PNG 文件或者 UR L新建一个图像
imagecreatefromwbmp()
: 通过 WBMP 文件或者URL,新建一个图像
输出图片
上述示例中,我们已经成功的创建了画布,在PHP中不同格式的图像也需要不同的函数来进行输出,不同的函数如下所示:
imagegif()
: 输出一个GIF格式图像到浏览器或文件
imagejpeg()
: 输出一个JPEG格式图像到浏览器或文件
imagepng()
<?php header('Content-type:image/jpeg'); $image= imagecreatefrompng('php.png'); imagepng($image); ?>
imagedestroy(resource $image)🎜 Résultat de sortie : 🎜🎜🎜🎜🎜Nous avons maintenant terminé la création d'un canevas. 🎜🎜En plus d'utiliser les deux fonctions ci-dessus pour créer un canevas, vous pouvez également créer une image via un fichier ou une URL des manières suivantes : 🎜🎜🎜🎜
imagecreatefromgif()
: Créer une nouvelle image via un fichier GIF ou une URL 🎜 🎜🎜🎜imagecreatefromjpeg()
: Créez une nouvelle image via un fichier JPEG ou une URL 🎜🎜🎜🎜imagecreatefrompng()
: Créez une nouvelle image via un fichier PNG ou une URL 🎜🎜🎜🎜 imagecreatefromwbmp()
: Créez une nouvelle image via un fichier WBMP ou une URL 🎜🎜🎜🎜🎜🎜Image de sortie 🎜🎜🎜🎜Dans l'exemple ci-dessus, nous avons créé avec succès un canevas dans différents formats en PHP Les images nécessitent également différentes fonctions pour la sortie. Les différentes fonctions sont les suivantes : 🎜🎜🎜🎜imagegif()
: Sortie d'une image au format GIF vers le navigateur ou le fichier 🎜. 🎜🎜🎜imagejpeg ()
: Sortie d'une image au format JPEG vers un navigateur ou un fichier 🎜🎜🎜🎜imagepng()
: Sortie d'une image au format PNG vers un navigateur ou un fichier 🎜 🎜🎜🎜Leur format de syntaxe Comme suit : 🎜🎜imagegif(resource $image[, string $filename]) imagejpeg(resource $image[, string $filename[, int $quality]]) imagepng(resource $image[, string $filename])
其中,$image为创建的一个图像资源;$filename表示为参数,用来设置文件需要保存的路径。
示例如下:
首先我在根目录中已经保存了一个名为php.png的图像文件
<?php header('Content-type:image/jpeg'); $image= imagecreatefrompng('php.png'); imagepng($image); ?>
输出结果:
通过imagecreatefrompng()函数和imagepng()成功的输出了一个格式为png的图片。
释放图像资源
通过上述示例已经成功的输出了图片,在图片的资源使用完成后,通常需要释放图像处理时所占用的内存,那应该怎样操作呢?
在PHP中我们通过imagedestroy() 函数来释放图像资源,语法格式如下:
imagedestroy(resource $image)
其中$image表示需要释放资源的图像
示例如下:
<?php header('Content-type:image/jpeg'); $image= imagecreatefrompng('php.png'); imagepng($image); imagedestroy($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!