Maison  >  Article  >  développement back-end  >  (Avancé) Technologie de traitement d'image PHP-Bibliothèque GD

(Avancé) Technologie de traitement d'image PHP-Bibliothèque GD

黄舟
黄舟original
2017-02-07 09:12:332774parcourir

1. Activer l'extension GD

extension=php_gd2.dll

Redémarrage d'Apache

2. Exemple :

Scénario :

Créez une image verte de 500 × 300

①Créez un canevas

Canvas, une sorte de données de ressources. Ressources d’images pouvant être manipulées.

Créer un nouveau canevas (nouveau)

ImageCreate(largeur, hauteur), créer un canevas basé sur la palette.

imageCreateTrueColor(width, height); Créez une vraie toile de couleurs.

Créer un canevas basé sur une image (ouvrir)

imageCreateFromJPEG(adresse de l'image);

imageCreateFromPNG(adresse de l'image);

imageCreateFromGIF(adresse de l'image);

②Opération toile

Attribuer une couleur : si vous devez utiliser une couleur sur la toile, vous devez d'abord attribuer la couleur à la toile.

Utiliser la fonction :

Identification des couleurs = imageColorAllocate(canvas, R, V, B)

Représentation des couleurs :

RVB

③Remplissez le canevas : Remplissez (remplacez) les points de remplissage par des points consécutifs de la même couleur

Utilisez la fonction :

imageFill(canvas, position de remplissage x, position de remplissage Y, logo couleur) La position complète

est gérée à l'aide des coordonnées :

Origine : 0, 0, le coin supérieur gauche de la toile.

À droite, l'axe des x augmente et vers le bas, l'axe Y augmente.

Coordonnées du coin inférieur droit : largeur-1, hauteur-1

④Canevas de sortie

Sortie des informations de motif traitées dans le canevas.


Typique :

1 Sortie vers un fichier image.

2 est sorti directement.

Utiliser la fonction :

imagePNG(canvas[, adresse du fichier]):

imageJPEG();

imageGIF();

S'il n'y a pas de deuxième paramètre, cela signifie une sortie directe.

Remarque : si vous les affichez directement dans le navigateur, vous devez informer le navigateur que le type de données de réponse doit être une image au format PNG :

Utilisez la commande Content-type ; 🎜>

a Le canevas peut être sorti plusieurs fois dans différents formats

⑤ Détruire les ressources du canevas

imageDestroy()


Exemple de code :

<?php
//例如:制作500×300的绿色图片
$width=500;
$height=300;
//创建真彩色的画布
$img=imageCreateTrueColor($width,$height);
// var_dump($img);    //测试结果: resource(2) of type (gd)   $img是一个资源类型
//使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R  G  B
$green=imageColorAllocate($img, 0x0, 0xff, 0x0);
//填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成
imageFill($img,0,0,$green);
//输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF
//imagePNG($img,&#39;./green.png&#39;);  //如果没有第二个参数,表示直接输出
//如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type
header(&#39;Content-Type:image/png;&#39;);
imagePNG($img);
//注:一个画布可以输出多次,输出为各种格式
//销毁画布资源
imageDestroy($img);


Exemple de code :

<?php
//例如:制作500×300的绿色图片
$width=500;
$height=300;
//创建真彩色的画布
$img=imageCreateTrueColor($width,$height);
// var_dump($img);    //测试结果: resource(2) of type (gd)   $img是一个资源类型
//使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R  G  B
$green=imageColorAllocate($img, 0x0, 0xff, 0x0);
//填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成
imageFill($img,0,0,$green);
//输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF
//imagePNG($img,&#39;./green.png&#39;);  //如果没有第二个参数,表示直接输出
//如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type
header(&#39;Content-Type:image/png;&#39;);
imagePNG($img);
//注:一个画布可以输出多次,输出为各种格式
//销毁画布资源
imageDestroy($img);
Ce qui précède est le contenu de la technologie de traitement d'image PHP (avancée)-bibliothèque GD. Pour plus de contenu connexe, veuillez suivre le site Web PHP chinois (www.php.cn) !


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