Pseudo Mot de passe
fleche Inscription
fleche Mot de passe oublié ?
Informations Générales
Chargement en cours...
Nombre de Visites fleche [ 228 940 ]
Votre IP fleche [ 38.103.63.56 ]
Vous êtes ici : Home Page Cours PHP Librairie GD (Les couleurs et les lignes)
Imprimer le document Version Imprimable

Informations Générales

[315] Posts sur le forum
[255] Membres inscrits
Il y a en ligne :
arrow 0 Membre
arrow 1 Invité
fled Membre en ligne:
Aucun

Partenariat

Partenariat Vous pouvez aider ce site à évoluer, en contribuant à son développement. Proposez vos idées de cours et/ou dossiers.
Rendez-vous dans « Partenariat » pour en savoir plus.


Publicité


Prestataire

N°1 de l'hébergement, location de serveurs, nom de domaines et téléphonie.
(OVH est recommandé par Webelix.net)

www.

Nos Partenaires

La Librairie GD (Les couleurs et les lignes)

Les couleurs

Les couleurs seront spécifiées avec des valeurs RVB, en hexadécimal ou entier.
Pour cela il faut séparer le Rouge, le Vert et le Bleu.

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.
Nous utiliserons la fonction imagefill().

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 :

Image en couleur

Les lignes

imageline($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 :

Ligne en couleur

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.
Vous pouvez également dessiner une ligne en pointillés grâce à imagedashedline, son utilisation est similaire à imageline.

- 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 :

Ligne en couleur
Haut de page