[ 228 940 ]
[ 38.103.63.56 ]
La Librairie GD (Les couleurs et les lignes)Les couleursLes couleurs seront spécifiées avec des valeurs RVB, en hexadécimal ou entier. imagecolorallocate($image, $rouge, $vert, $bleu); Exemple : pour une couleur hexadécimale #cc99cc, les canaux RVB seront Rouge=0xcc, Vert=0x99, Bleu=0xcc Appliquons une couleur de fond à notre image de base. imagefill($image, $x, $y, $couleur);
<?php
header("Content-type: image/png");
$x = 150;
$y = 150;
$image = imagecreatetruecolor($x,$y);
$rouge = hexdec("cc"); //Canal rouge
$vert = hexdec("99"); //Canal vert
$bleu = hexdec("cc"); //Canal bleu
/* on créé la couleur et on l'attribue à une variable pour ne pas la perdre */
$couleur = imagecolorallocate($image,$rouge,$vert,$bleu);
imagefill($image,0,0,$couleur); //on remplit l'image
imagepng($image);
imagedestroy($image);
?>
Résultat : Les lignesimageline($image, $x_orig, $y_orig, $x_dest, $y_dest, $couleur); Grace à cette fonction nous pouvons tracer des lignes sur notre image.
<?php
header("Content-type: image/png");
$x = 150;
$y = 150;
$image = imagecreatetruecolor($x,$y);
$rouge = hexdec("cc");
$vert = hexdec("99");
$bleu = hexdec("cc");
$couleur = imagecolorallocate($image,$rouge,$vert,$bleu);
imageline($image,10,10,140,140,$couleur); //on créé une première ligne
imageline($image,10,140,140,10,$couleur); //on créé une seconde ligne
imagepng($image);
imagedestroy($image);
?>
Résultat : Pour changer la taille des lignes, il faut utiliser : imagesetthickness($image, $size); $image est l'image qui reçoit la modification et $size est l'épaisseur de la ligne en pixels. - Exemple avec une épaisseur de ligne de 40px :
<?php
header("Content-type: image/png");
$x = 150;
$y = 150;
$image = imagecreatetruecolor($x,$y);
$rouge = hexdec("cc");
$vert = hexdec("99");
$bleu = hexdec("cc");
$couleur = imagecolorallocate($image,$rouge,$vert,$bleu);
$size = "40"; //épaisseur de ligne en pixels
imagesetthickness($image, $size); //on change l'épaisseur de la première ligne
imageline($image,10,10,140,140,$couleur); //on créé une première ligne
imagesetthickness($image, $size); //on change l'épaisseur de la seconde ligne
imageline($image,10,140,140,10,$couleur); //on créé une seconde ligne
imagepng($image);
imagedestroy($image);
?>
Attention ! Remarquez l'ordre des fonctions, imagesetthickness() doit se trouver avant imageline() sinon cela ne fonctionne pas. Résultat : |