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.