Définition | Utilisation | Exemple | Côté technique |
PecheuxGraph.zip\PecheuxGraph\examples\Documentation\Exemple-202-fillCoccinelle\Exemple-202-fillCoccinelle.ino (dans votre fichier téléchargé): // Ce programme montre le remplissage par une couleur avec arrêt sur une // couleur différente couleur de départ // Ici, on dessine une coccinelle et la boucle lui change la couleur de son dos. // Si on remplit en blanc (ce qui est possible un jour) il n'y a plus de dos et les remplissages // suivants rempliront aussi l'espace autour de la bête. #include <PecheuxGraph.h> void setup() { setGraphMode(PAYSAGE); fill(0,0,WHITE); // = clrscr(WHITE); mais lent de chez lent. Ici c'est pour l'exemeple! // Dessin d'une coccinelle arc(DEMI_LARGEUR-20, DEMI_HAUTEUR, 80, DEPART_SUD+ARRIVEE_NORD, RED); // corps hLine(DEMI_LARGEUR-20, DEMI_LARGEUR+20, DEMI_HAUTEUR-80, RED); hLine(DEMI_LARGEUR-20, DEMI_LARGEUR+20, DEMI_HAUTEUR+80, RED); vLine(DEMI_LARGEUR+20, DEMI_HAUTEUR-80, DEMI_HAUTEUR+80, RED); fill(DEMI_LARGEUR, DEMI_HAUTEUR, RED); // Ici le mode de remplissage importe peu arc(DEMI_LARGEUR+20, DEMI_HAUTEUR, 80, DEPART_NORD+ARRIVEE_SUD, BLACK); // tête vLine(DEMI_LARGEUR+20, DEMI_HAUTEUR-80, DEMI_HAUTEUR+80, BLACK); fill(DEMI_LARGEUR+30, DEMI_HAUTEUR, BLACK); // Ici le mode de remplissage importe peu for (int nb=6; nb>0; nb--) // six points noirs { int x=DEMI_LARGEUR-60+random(65), y=DEMI_HAUTEUR-70+20*nb; // int fonctionne toujours car l'instruction précédente finit par "," circle(x, y, 10, BLACK); fill(x, y, BLACK); // Ici le mode de remplissage importe peu } } void loop() { setFillMode(COCCINELLE); // L'autre mode ne fonctionnerait pas fill(DEMI_LARGEUR-99, DEMI_HAUTEUR, RANDOM_COLOR | GREY); // Remplissage du corps (perdu si on a du noir ou du blanc!) delay(1000); } ![]()
PecheuxGraph.zip\PecheuxGraph\examples\Documentation\Exemple-203-fillStar\Exemple-203-fillStar.ino (dans votre fichier téléchargé): // Ce programme montre le remplissage par une couleur avec arrêt sur une // frontière de la couleur de remplissage. On trace une étoile et on la remplit. Il // faut mémoriser la position de l'étoile (sinon on remplirait le ciel) ainsi que // sa couleur pour s'arrêter sur le bord de l'étoile. #include <PecheuxGraph.h> void star(int x, int y, int couleur) // Dessine une étoile { line(10+x,3+y,24+x,-8+y,couleur); lineTo(6+x,-8+y); lineTo(0+x,-25+y); lineTo(-6+x,-8+y); lineTo(-24+x,-8+y); lineTo(-10+x,3+y); lineTo(-15+x,20+y); lineTo(0+x,10+y); lineTo(15+x,20+y); lineTo(10+x,3+y); } void setup() { setGraphMode(PAYSAGE); // Obligatoire pour utiliser l'écran setFillMode(STAR); // L'autre mode ne fonctionnerait pas si le fond n'est plus noir } int x,y,couleur; // Paramètres d'une étoile void loop() { // On place une étoile pleine sur l'écran star(x=random(LARGEUR-20)+10, y=random(HAUTEUR-20)+10, RANDOM_COLOR); // Dessin de l'étoile creuse delay(300); fill(x, y, getDrawColor()); // Remplissage de l'étoile // Petite attente delay(200); } ![]()
Le remplissage se limite à la partie qui tient dans l'écran et qui tient dans les limites données par la fonction setLimites() Voir aussi: |