2D_FLOOD X,Y,R,G,B

2D_FLOOD X,Y,R,G,B

PEINT UNE SURFACE À PARTIR D'UN POINT


  • Type : Commande
  • Paramètres : 5
  • Groupe : Dessin


ACTION

La commande 2D_FLOOD X,Y,R,G,B remplit une surface à partir du point (X,Y), en remplaçant la couleur trouvée au point (X,Y) par la couleur (R,G,B).

Le remplissage se fait de proche en proche et à chaque fois que la couleur trouvée au point (X,Y) est rencontrée, elle est remplacée par la couleur (R,G,B), mais lorsqu'une autre couleur est trouvée, le remplissage s'arrête.

Remarque 1 : le mode de remplissage doit être le mode "plein" (2D_FILL_SOLID).

Remarque 2 : la couleur de remplissage est la couleur résultante du mélange des 3 composantes primaires : rouge (R), vert (G) et bleu (B).

L'intensité de chaque couleur primaire peut varier de 0 à 255. (0 = aucune couleur, 255 = pleine intensité)

Quand les 3 composantes primaires sont à 0, la couleur résultante est noire (aucune couleur), quand les 3 composantes primaires sont à 255, la couleur résultante est blanche (mélange des 3 couleurs fondamentales à l'intensité maximale).

Rappel :

- Couleur jaune (rouge + vert) quand B = 0

- Couleur grise quand R=G=B

- Couleur violette (rouge + bleu) quand G = 0

- Couleur noire quand R=0, G=0, B=0

- Couleur blanche quand R=255, G=255, B=255


SYNTAXE : 2D_FLOOD X,Y,R,G,B

  • X = valeur de la composante X (entier ou réel) du point.
  • Y = valeur de la composante Y (entier ou réel) du point.
  • R = valeur de la composante rouge (entier ou réel) de la couleur résultante.
  • G = valeur de la composante verte (entier ou réel) de la couleur résultante.
  • B = valeur de la composante bleue (entier ou réel) de la couleur résultante.

UTILISATION

  • La commande 2D_FLOOD est utilisée pour remplir une surface colorée avec une autre couleur.

ERREUR

  • Si X ou Y n'est pas une expression correcte.
  • Si R ou G ou B est inférieure à 0 ou supérieure à 255.
  • Si R ou G ou B n'est pas une expression correcte.

EXEMPLE

2D_FLOOD.bas
dim x0,y0,r,Px,Py,Px2,Py2,j%,n%,Pi,a
x0=100:Y0=100:' coordonnées du centre
r=100:' rayon
n%=10:' nombre de côtés
a=10:' angle de début
Pi = 3.1415926535898
Px = r * Cos(a) + x0
Py = r * Sin(a) + y0
2D_poly_from Px,Py
For j% = 1 To n%
Px2 = r*Cos(a + 2*Pi*j%/n%) + x0
Py2 = r*Sin(a + 2*Pi*j%/n%) + y0
2D_poly_to Px2, Py2
Px = Px2
Py = Py2
next j%
2d_flood x0,y0,100,50,200

EN RAPPORT

-