setFillMode()

Choisit le mode de remplissage.

Voici deux dessins pour lesquels je veux faire un remplissage:

Dans le dessin de gauche, une coccinelle, je veux changer la couleur rouge par du vert. Dans le dessin de droite, je veux remplir avec du blanc l'intérieur de l'étoile blanche.

Pour la coccinelle, il faut remplir en pointant là ou il y a du rouge et changer tous les points rouges en points verts. L'algorithme utilisé est "changer dans la nouvelle couleur de proche en proche tous les points qui ont la couleur pointée au départ". On s'arrêtera donc sur le noir (tête, points) et sur le blanc (cadre). Ce mode de remplissage ne fonctionne pas avec l'étoile, car en pointant au milieu, on ne changerait que les points oranges et pas les bleus, les violets... J'ai appelé ce mode de remplissage le mode COCCINELLE.

Pour l'étoile, il faut utiliser l'algorithme "changer dans la nouvelle couleur de proche en proche tous les points qui ne sont pas de la nouvelle couleur". Si on remplit avec du blanc, on ne s'arrêtera que si la couleur est blanche. Ainsi, on ira bien remplir toute l'étoile jusqu'à son bord qui est blanc. Ce mode de remplissage ne fonctionne pas avec la coccinelle, en remplissant ainsi avec du vert, jusqu'au bord vert (qui n'existe pas), on remplirait tout l'écran.J'ai appelé ce mode de remplissage le mode STAR (étoile en anglais).

A l'initialisation, le mode est COCCINELLE. Le changement de mode se fait par la fonction setFillMode() ou grâce à la variable fillMode. La première méthode est meilleure (plus de sécurité), mais la deuxième nécessite moins d'octets dans un contexte de carte Uno, c'est une économie.

 

Exemples d'utilisation

setFillMode(COCCINELLE); // Remplira en mode Coccinelle.
fillMode=COCCINELLE; // Identique à la ligne du dessus.
setFillMode(STAR); // Remplira en mode Star.

 

Référence

void setFillMode(boolean mode);

Paramètre passé

mode: COCCINELLE (ou true) pour le mode Coccinelle, STAR (ou false) pour le mode Star

Valeur retournée

Aucune

 

Voir aussi

- COCCINELLE Constante pour le remplissage
- STAR Constante pour le remplissage
- fillMode(); Remplissage
- getFillMode(); Retourne le type de remplissage<
- fillMode Contient le type de remplissage
- setLimites(); Limite la zone de dessin
- setDrawInverse(); Choix du mode dessin ou inversion
- RGBcolor(); Transforme un triplet RGB en un code couleur
- BLACK, WHITE, ... Constantes couleurs
- rect(); Trace les bords d'un cadre
- fillRect(); Trace une boîte pleine
- circle(); Trace un cercle

 

fill()   <<     >>   getFillMode()