Maison  >  Article  >  développement back-end  >  Étapes spécifiques pour créer des images en php

Étapes spécifiques pour créer des images en php

藏色散人
藏色散人original
2021-07-02 09:04:203003parcourir

Étapes spécifiques pour créer une image en PHP : 1. Définir l'en-tête et indiquer au navigateur le type MIME à générer ; 2. Créer un canevas ; 3. Effectuer la gestion des couleurs ; 4. Couleur de remplissage ; ; 6. Sortir l'image; 7. Détruire l'image.

Étapes spécifiques pour créer des images en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

PHP Étapes spécifiques pour créer des images

1. Définissez l'en-tête et indiquez le navigateur Il existe trois types de types MIME que vous souhaitez générer :


header('content-type:image/png')
  • header ( 'content-type: image/gif');
  • header ( ' content -type: image/jpeg' );
  • <?php header("content-type: image/png");
  • 2. Créez un canevas. Toutes les opérations ultérieures seront basées sur cette zone de canevas

resource imagecreatetruecolor ( int $width , int $height )

Créez une nouvelle vraie couleur image Return Un identifiant d'image représentant une image noire de largeur et de hauteur. Valeur de retour : renvoie la ressource image après un succès, renvoie FALSE après un échec.

$width = 200;
$height = 100;
$img = imagecreatetruecolor($width,$height);

3. Gestion des couleurs

**int imagecolorallocate ( ressource $image , int $red , int $green , int $blue )**Attribuer des couleurs à une image

le rouge, le vert et le bleu sont respectivement les couleurs requises du rouge , composants verts et bleus. Ces paramètres sont des entiers de 0 à 255 ou hexadécimaux de 0x00 à 0xFF

$color = imagecolorallocate($img,0xcc,0xcc,0xcc); // 灰色

4. Fill color

bool imagefill ( resource $image , int $x , int $y , int $color )

image image Les coordonnées x et y (le coin supérieur gauche de l'image est 0, 0) sont remplis de couleur (c'est-à-dire que les points de la même couleur que les points x et y et les points adjacents seront remplis).

imagefill($img,0,0,$color);

5. Dessinez des graphiques et du texte

    imagesetpixel()
  1. Utilisez la couleur dans l'image pour dessiner un point sur les coordonnées x et y (le coin supérieur gauche de l'image est 0, 0). bool imagesetpixel ( ressource $image , int $x , int $y , int $color )
    Exemple : dessinez 100 points au hasard sur la toile
    for ($i= 0; $i < 100; $i++) { 
    	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
    	$x = rand(0,$width);
    	$y = rand(0,$height);
    	imagesetpixel($img, $x, $y, $color);
    }

imageline()
    Utilisez color color dans l'image image Draw un segment de droite
  1. des coordonnées x1, y1 à x2, y2 (le coin supérieur gauche de l'image est 0, 0) . bool imageline ( ressource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
    Exemple : dessinez au hasard 10 segments de ligne sur le canevas
    for ($i= 0; $i < 10; $i++) { 
    	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
    	$x = rand(0,$width);
    	$y = rand(0,$height);
    	$x1 = rand(0,$width);
    	$y1 = rand(0,$height);
    	imageline($img, $x, $y, $x1, $y1,$color);
    }

imagerectangle()
    Utilisez col color pour dessiner un rectangle
  1. dans l'image, avec les coordonnées de son coin supérieur gauche comme x1, y1 et les coordonnées de son coin inférieur droit comme x2, y2. Le coin supérieur gauche de l'image a les coordonnées 0, 0. bool imagerectangle ( ressource $image , intbool imagerectangle ( ressource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col )

imagefilledrectangle()

dans l'image image Dessinez un rectangle
    rempli de couleur, dont les coordonnées du coin supérieur gauche sont x1, y1 et les coordonnées du coin inférieur droit sont x2, y2, y2. , int $y2 , int $color )
  1. Dessiner du texte
  2. array imagettftext ( ressource $image , float $size , float $anglearray imagettftext ( ressource $image , float $size, float $angle, int $x, int $y, int $color, string $fontfile, string $text)

size : Selon la version de GD, il s'agit de la taille des pixels (GD1) ou des points (points) (GD2). exprimé dans le système d'angles, 0 degrés signifie que le texte est lu de gauche à droite. Par exemple, 90 degrés signifie que le texte est lu de bas en haut. Les coordonnées représentées définissent le point de base du premier caractère (probablement le coin inférieur gauche). du caractère). color : index des couleurs fontfile : est le chemin d'accès à la police TrueType que vous souhaitez utiliser (à partir de Windows sur le lecteur c de mon ordinateur. dossier fonts)

text : chaîne de texte encodée en UTF-8
  1. $color = imagecolorallocate($img,154, 75, 65));
    $font = "simsunb.ttf";
    $str = "hello , how are you?";
    imagettftext($img, 30, 45, $x, $y, $color, $font, $str);

    . 6. Image de sortie Trois façons :


    bool imagepng ( ressource $image [, string $filename ] )
    Sortie d'un flux d'image GD (image) au format PNG vers une sortie standard (généralement un navigateur) ou dans un fichier si le nom de fichier est donné

    bool imagegif ( ressource $image [, string $ filename ] )
bool imagejpeg ( ressource $image [, string $filename [, int

$quality ]])

imagepng($img);

7. Détruisez l'image

  • bool imagedestroy ( ressource $image )
  • Libère l'image associée à la mémoire
  • imagedestroy($img);

      推荐学习:《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