recherche
Maisondéveloppement back-endProblème PHPComment 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 !

Comment sortir des images en PHP ? (Explication détaillée de la légende)

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 :


Comment sortir des images en PHP ? (Explication détaillée de la légende)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.


Comment sortir des images en PHP ? (Explication détaillée de la légende)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
  • Pass Au cours de ces quatre étapes, nous avons terminé le fonctionnement de base de l'image. Voyons comment la faire fonctionner.

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(&#39;画布创建失败!&#39;);
?>

其中,$width 表示创建画布的宽度也可以理解为图像的宽度,$height 表示创建画布的高度也就是图像的高度

这两个函数都可以用来创建画布,不过其中不同的是,他们可以容纳的色彩范围不同。

示例如下:

<?php
    $img = @imagecreatetruecolor(120, 20) or die(&#39;画布创建失败!&#39;);
    echo &#39;画布的宽度为:&#39;.imagesx($img).&#39;像素&#39;;
    echo &#39;<br>画布的高度为:&#39;.imagesy($img).&#39;像素&#39;;
?>

由于只是创建了一个画布上面并没有东西,浏览器也不会输出画布,但是可以通过 imagesx() 和 imagesy() 来获取图像的宽和高:

imagegif(resource $image[, string $filename])
imagejpeg(resource $image[, string $filename[, int $quality]])
imagepng(resource $image[, string $filename])

输出结果:

Comment sortir des images en PHP ? (Explication détaillée de la légende)

由此我们便完成了创建一个画布。

除了使用上面两个函数创建画布之外,还可以通过以下方式,通过文件或者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(&#39;Content-type:image/jpeg&#39;);
    $image= imagecreatefrompng(&#39;php.png&#39;);
    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 : 🎜🎜🎜Comment sortir des images en PHP ? (Explication détaillée de la légende)🎜🎜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(&#39;Content-type:image/jpeg&#39;);
    $image= imagecreatefrompng(&#39;php.png&#39;);
    imagepng($image);
?>

输出结果:

Comment sortir des images en PHP ? (Explication détaillée de la légende)

通过imagecreatefrompng()函数和imagepng()成功的输出了一个格式为png的图片。

释放图像资源

通过上述示例已经成功的输出了图片,在图片的资源使用完成后,通常需要释放图像处理时所占用的内存,那应该怎样操作呢?

在PHP中我们通过imagedestroy() 函数来释放图像资源,语法格式如下:

imagedestroy(resource $image)

其中$image表示需要释放资源的图像

示例如下:

<?php
    header(&#39;Content-type:image/jpeg&#39;);
    $image= imagecreatefrompng(&#39;php.png&#39;);
    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!

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
Base de données d'acide vs de base: différences et quand utiliser chacun.Base de données d'acide vs de base: différences et quand utiliser chacun.Mar 26, 2025 pm 04:19 PM

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

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier.Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier.Mar 26, 2025 pm 04:18 PM

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.

Validation d'entrée PHP: meilleures pratiques.Validation d'entrée PHP: meilleures pratiques.Mar 26, 2025 pm 04:17 PM

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.

Limitation du taux de l'API PHP: stratégies de mise en œuvre.Limitation du taux de l'API PHP: stratégies de mise en œuvre.Mar 26, 2025 pm 04:16 PM

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

Hachage de mot de passe PHP: Password_Hash et Password_verify.Hachage de mot de passe PHP: Password_Hash et Password_verify.Mar 26, 2025 pm 04:15 PM

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 à

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes.OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes.Mar 26, 2025 pm 04:13 PM

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.

PHP XSS Prévention: comment protéger contre XSS.PHP XSS Prévention: comment protéger contre XSS.Mar 26, 2025 pm 04:12 PM

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é.

Interface PHP vs classe abstraite: quand utiliser chacun.Interface PHP vs classe abstraite: quand utiliser chacun.Mar 26, 2025 pm 04:11 PM

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

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

MinGW - GNU minimaliste pour Windows

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

SublimeText3 version anglaise

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

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

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

PhpStorm version Mac

PhpStorm version Mac

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