point()
Dessine un point aux coordonnés passés en paramètre
Exemples d'utilisation
point(0, 0, GREEN); // Dessine un point (pixel) vert dans le coin en haut à gauche (origine) point(0, MAX_Y, GREEN); // Dessine un point (pixel) vert dans le coin en bas à gauche (y croît vers le bas) point(MAX_X, 0, GREEN); // Dessine un point (pixel) vert dans le coin en haut à droite (x croît vers la droite) point(MAX_X, MAX_Y, GREEN); // Dessine un point (pixel) vert dans le coin en bas à droite point(100, 150); // Dessine un point aux coordonnés (100,150). La couleur sera la même que pour le dernier tracé point(10000, 150); // En dehors de l'écran, ne dessine rien setLimites(0, 0, 100, 100); point(10000, 150); // En dehors des limites, ne dessine rien point(random(LARGEUR), 0); // Dessine un point quelque part sur la ligne la plus haute point(random(LARGEUR), random(HAUTEUR), random(RANDOM_COLOR)); // Dessine un point d'une couleur quelconque n'importe où setDrawInverse(INVERSE); point(x, y); // Inverse la couleur d'un point
Référence
void point(int x, int y, word couleur); void point(int x, int y);
Paramètre passé
x: abscisse du point
y: ordonnée du point
couleur: couleur du point, voir BLACK, WHITE, ... ou RGBcolor
Valeur retournée
Aucune
Voir aussi
- getPoint(); Retourne la couleur d'un point
- RGBcolor(); Transforme un triplet RGB en un code couleur
- MAX_X, MAX_Y...: Valeurs des coordonnés graphiques
- BLACK, WHITE, ...: Constantes couleurs
- setLimites(); Limite la zone de dessin
- line(); Trace une ligne
- rect(); Trace les bords d'un cadre
- fillRect(); Trace une boîte pleine
- circle(); Trace un cercle
Notes
En mode NORMAL, dessine le point avec la couleur spécifiée si présente, ou avec la dernière couleur utilisée par point(), rect(), circle(),... si le paramètre couleur est omis. La nouvelle couleur est mémorisée pour les prochains tracés graphiques. En mode INVERSE, cette fonction complémente la couleur sans tenir compte de la couleur éventuellement passée en paramètre; la nouvelle couleur du point n'est dans ce cas non mémorisée.
Le point n'est dessiné que si il tient dans les limites données par la fonction setLimites() (l'écran en entier par défaut). Dessiner un point en dehors n'a aucun effet.
Exemple
PecheuxGraph_ILI9341_8bits.zip\PecheuxGraph_ILI9341_8bits\examples\Documentation\Exemple-200-point\Exemple-200-point.ino (dans votre fichier téléchargé):
// Ce programme affiche un dessin, prend un point quelconque de l'écran, et le redessine (même couleur). // Il appelle ensuite point sans donner de paramètre couleur pour les 4 points adjacents. Le dessin // se mélange jusqu'à ce qu'une couleur prenne le dessus // Avec une photo, c'est plus long si on travaille sur l'écran complet, mais c'est plus intéressant. // L'image va devenir floue, elle sera définie par de moins en moins de pixels # $menu = ":PG"; include <PecheuxGraph_ILI9341_8bits.h> void setup() { // Initialisations setGraphMode(PAYSAGE); // Initialisation obligatoire pour utiliser l'afficheur // Dessin d'un fond d'écran: fillRect(DEMI_LARGEUR-20, DEMI_HAUTEUR-20, DEMI_LARGEUR, DEMI_HAUTEUR, RED); // En haut à gauche fillRect(DEMI_LARGEUR, DEMI_HAUTEUR-20, DEMI_LARGEUR+20, DEMI_HAUTEUR, GREEN); // En haut à droite fillRect(DEMI_LARGEUR-20, DEMI_HAUTEUR, DEMI_LARGEUR, DEMI_HAUTEUR+20, BLUE); // En bas à gauche fillRect(DEMI_LARGEUR, DEMI_HAUTEUR, DEMI_LARGEUR+20, DEMI_HAUTEUR+20, YELLOW); // En bas à droite } int x, y; // Coordonnés d'un point quelconque void loop() { // Prendre un point au hasard et le redessiner dans la même couleur x=random(40)+DEMI_LARGEUR-20; y=random(40)+DEMI_HAUTEUR-20; // Redessiner le point point(x,y,getPoint(x,y)); // Mémorise la couleur // 4 points adjacents point(x,y-1); // Point au dessus, de quelle couleur? de celle du dessus... point(x,y+1); // Point en dessous point(x-1,y); // Point à gauche point(x+1,y); // Point à droite }
Résultat en accéléré:

Voici ce que cela donne sur une image complète:

Côté technique
Le tracé d'un point aux coordonnées (x,y) se fait en restreignant la possibilité de dessiner dans le driver au rectangle((x, y), (MAX_X, MAX_Y)) puis en envoyant la valeur de la couleur. On peut changer uniquement les deux première valeurs, et en n'écrivant jamais la limite supérieure. Cela va plus vite.
Le choix de ne pas donner un objet de type coordonnés, mais plutôt l'abscisse et l'ordonnée permet d'une part au plus grand nombre de comprendre, mais aussi de pouvoir écrire facilement à moindre coût, des choses comme point(random(LARGEUR),0,BLUE);