hLine()
Dessine une droite horizontale
Exemples d'utilisation
hLine(0, MAX_X, MAX_Y/2); // Dessine une droite horizontale au milieu hLine(random(LARGEUR), random(LARGEUR), random(HAUTEUR), RANDOM_COLOR); // Droite horizontale quelconque hLine(400, 500, 100); // Ne trace rien, x est trop grand setLimites(10, 10, 20, 20); hLine(30, 40, 15); // Ne trace rien (en dehors de limites) setLimites(10, 10, 20, 20); hLine(10, 40, 15); // Identique à hLine(10, 20, 15);
Référence
void hLine(int x1, int x2 ,int y, word couleur); void hLine(int x1, int x2 ,int y);
Paramètres passés
x1,x2: abscisse des extrémités
y: ordonné de la ligne
couleur: couleur de la droite, voir BLACK, WHITE, ... ou RGBcolor
Valeur retournée
Aucune
Voir aussi
- vLine(); Trace une ligne verticale
- line(); Trace une ligne
- lineTo(); Trace une ligne qui part de la dernière ligne tracée
- setLimites(); Limite la zone de dessin
- rect(); Trace les bords d'un cadre
- fillRect(); Trace une boîte pleine
- RGBcolor(); Transforme un triplet RGB en un code couleur
- MAX_X, MAX_Y... Valeurs des coordonnés graphiques
- BLACK, WHITE, ... Constantes couleurs
- setDrawInverse(); Choix du mode dessin ou inversion
- point(); Dessine un point
- circle(); Trace un cercle
- text(); Écrit du texte
Notes
En mode NORMAL, dessine la droite horizontale 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 n'est pas passé. La nouvelle couleur est mémorisée pour les prochains tracés graphiques. En mode INVERSE, cette fonction inverse la couleur sans tenir compte de la couleur éventuellement passée en paramètre; la nouvelle couleur de la droite n'est pas mémorisée.
Il est plus rapide et le code est plus optimisé, de tracer des horizontales ou des verticales par les procédures adéquates que de les dessiner avec line().
N'est dessiné que la partie qui tient dans les limites données par la fonction setLimites() (tout l'écran par défaut).
Exemple
PecheuxGraph_ILI9341_8bits.zip\PecheuxGraph_ILI9341_8bits\examples\Documentation\Exemple-206-hLine\Exemple-206-hLine.ino (dans votre fichier téléchargé):
// Ce programme dessine des lignes horizontales. Pour qu'il n'y en ait pas trop, il dessine // aussi des lignes noires, ce qui "efface" les lignes colorées en trop. # $menu = ":PG"; include <PecheuxGraph_ILI9341_8bits.h> void setup() { setGraphMode(PAYSAGE); } void loop() { hLine(random(LARGEUR),random(LARGEUR),random(HAUTEUR),RANDOM_COLOR); // Trace des lignes hLine(0,MAX_X,random(HAUTEUR),BLACK); // Efface des lignes delay(100); // Attendre un peu ne fait pas de mal }
Résultat:

Côté technique
Pour dessiner des lignes horizontales, on définit des limites et on remplit cette zone en envoyant le mot de la couleur sans rappeler les coordonnés. Pour dessiner une droite quelconque, il faut calculer la position du prochain point, demander à restreindre la zone et envoyer la donnée. Beaucoup de calculs et de repositionnement ralentissent le programme. Tracer une droite horizontale va donc beaucoup plus vite.