


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(); ?>
Après la saisie, dans le résultat de sortie, si les deux options ci-dessous apparaissent, cela signifie que la machine actuelle prend en charge le traitement d'image via GD :
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 un canevas
- Dessiner l'image
- Sortir l'image
- Libérer les ressources
-
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()
L'exemple est le suivant :
<?php header('Content-type:image/jpeg'); $image= imagecreatefrompng('php.png'); imagepng($image); ?>
Puisqu'un canevas vient d'être créé et qu'il n'y a rien dessus, le navigateur n'affichera pas le canevas, mais la largeur et la hauteur de l'image peuvent être obtenues via imagesx() et imagesy() :
imagedestroy(resource $image)🎜 Résultat de sortie : 🎜🎜🎜

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!

L'article compare les modèles de base de données d'acide et de base, détaillant leurs caractéristiques et les cas d'utilisation appropriés. L'acide priorise l'intégrité et la cohérence des données, adaptées aux applications financières et de commerce électronique, tandis que Base se concentre sur la disponibilité et

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

L'article traite des meilleures pratiques pour la validation des entrées PHP pour améliorer la sécurité, en se concentrant sur des techniques telles que l'utilisation de fonctions intégrées, une approche de liste blanche et une validation côté serveur.

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main

L'article traite des avantages de l'utilisation de mot de passe_hash et de mot de passe_verify dans PHP pour sécuriser les mots de passe. L'argument principal est que ces fonctions améliorent la protection des mots de passe grâce à la génération automatique de sel, à de forts algorithmes de hachage et à

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

L'article traite des stratégies pour empêcher les attaques XSS en PHP, en se concentrant sur la désinfection des entrées, le codage de sortie et l'utilisation de bibliothèques et de cadres améliorant la sécurité.

L'article traite de l'utilisation des interfaces et des classes abstraites en PHP, en se concentrant sur le moment de l'utiliser. Les interfaces définissent un contrat sans mise en œuvre, adapté aux classes non apparentées et à l'héritage multiple. Les cours abstraits fournissent une fusion commune


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel