[PHP] ImageFillToBorder (1/2) |
Insertion automatique de couleurs dans un dessin |
|
 |
Il est parfois très intéressant de pouvoir mettre de la couleur automatiquement dans un dessin (map, carrés, secteur,...)
Avec la fonction ImageFillToBorder, il est simple de la mettre en oeuvre et via une connexion à la base de données (non vue ici), vous pourrez gérer des couleurs spécifiques sur chaque zone.
|
Voici la définition technique de cette fonction >> ImageFillToBorder() sur PHP.net
ImageFillToBorder, acceptée par PHP 3 et PHP 4, remplit une région avec une couleur spécifique
imagefilltoborder ( resource image, int x, int y, int border, int color) |
|
- ressource image = emplacement de l'image ;
- x = coordonnée horizontale de la région à colorer ;
- y = coordonnée verticale ;
- border = couleur de la bordure de la région ;
- color = couleur à mettre dans la région.
imagefilltoborder() remplit avec la couleur color toute la région à l'intérieur de la région limitée par la couleur border. Le point de départ est (x,y) (le coin supérieur gauche est l'origine (0,0)).
Voila comment elle fonctionne :
Supposons que vous ayez un fond de carte noir et blanc (par exemple, limites de départements tracées en noir sur fond blanc), et que vous vouliez colorier un département en bleu. Pour cela il faut juste donner les coordonnées X et Y d'un pixel situé dans la zone à colorier sachant que (0, 0) est en haut à gauche.
Supposons que le point est en (25,32). Cela donnerait :
Définition de l'entête
header ("Content-type: image/png");
|
Source de l'image d'origine
$imagesource = "CARTE.PNG";
|
Définition des variables
$image = @ImageCreateFromPng($imagesource); $rouge = ImageColorAllocate($image, 255, 0, 0); $vert = ImageColorAllocate($image, 0, 255, 0); $bleu = ImageColorAllocate($image, 0, 0, 255); $jaune = ImageColorAllocate($image, 255, 255, 0); $cyan = ImageColorAllocate($image, 0, 255, 255); $magenta = ImageColorAllocate($image, 255, 0, 255); $blanc = ImageColorAllocate($image, 255, 255, 255); $noir = ImageColorAllocate($image, 0, 0, 0); $gris = ImageColorAllocate($image, 88, 88, 88);
|
Vous constatez que l'on peut changer et rajouter des variables très facilement.
fmarie le
22/12/2003 (18 171 hits) |
|
|