DRAW
DESCRIPTION.
L'instruction DRAW trace une ligne depuis le curseur graphique jusqu'aux coordonnées absolues fournies.
L'instruction DRAW BY trace une ligne depuis le curseur graphique jusqu'aux coordonnées relatives fournies.
SYNTAXE.
DRAW abscisse , ordonnee
DRAW BY horizontal , vertical
REMARQUES.
abscisse, ordonnee, horizontal et vertical doivent être des nombres entiers compris entre −32768 et +32767.
abscisse précise l'abscisse réelle (absolue) du point de référence.
ordonnee précise l'ordonnée réelle (absolue) point de référence.
horizontal est le décalage horizontal, en pixels, de l'abscisse du curseur graphique. Si horizontal est :
- positif, l'abscisse du curseur graphique se déplace vers la droite (augmente) ;
- 0, l'abscisse du curseur graphique ne change pas ;
- négatif, l'abscisse du curseur graphique se déplace vers la gauche (diminue).
vertical est le décalage vertical, en pixels, de l'ordonnée du curseur graphique. Si vertical est :
- positif, l'ordonnée du curseur graphique se déplace vers le haut (augmente) ;
- 0, l'ordonnée du curseur graphique ne change pas ;
- négatif, l'ordonnée du curseur graphique se déplace vers le bas (diminue).
L'instruction DRAW trace un segment de ligne droite depuis la position du curseur graphique jusqu'aux coordonnées fournies à l'instruction. L'appel de l'instruction doit avoir la forme :
- DRAW abscisse , ordonnee, avec les coordonnées absolues du point final ;
- DRAW BY horizontal , vertical, avec les décalages relatifs à la position actuelle du curseur graphique du point final.
Les coordonnées du point final, qu'elles soient fournies de façon absolues ou relatives, doivent être des valeurs numériques comprises entre −32768 et +32767. Après le tracé du segment de ligne, le curseur graphique sera déplacé aux coordonnées du point final.
Rappel : Avec BBC BASIC SDL 2.0 une points graphique corresponds en réalité à deux pixels. Par exemple, en MODE 8, la fenêtre de sortie a une surface graphique de 640 x 512 points graphiques soit une surface d'image de 1280 x 1024 pixels. Comme les valeurs retournées par certaines variables système sont exprimées en points graphiques, il faudra les multiplier par 2 pour obtenir le nombre de pixels équivalents. Pour pallier à cet inconvénient, il est fortement recommandé de n'utiliser que des valeurs pairs pour désigner les coordonnées des tracés et des dessins.
Rappel : Les dessins et les tracés ne sont affichés qu'à l'intérieur de la surface graphique. Tous points à afficher ayant des coordonnées en dehors de celle-ci seront ignorés, même s'ils sont à l'intérieur de la fenêtre de sortie. Voir la rubrique dessins et graphismes pour plus de détails.
Important : Après que le tracé soit effectué, les coordonnées du point final du tracé deviennent les celles du curseur graphique.
Par défaut, tous les tracés l'épaisseur des traits est de 1 pixel. Pour modifier cette épaisseur, on doit utiliser la commande VDU 23 , 23 , epaisseur ou VDU 23 , 23 , epaisseur , 0 , 0 , 0, où epaisseur est un nombre entier définissant la nouvelle épaisseur des tracés à venir. Voir la commande VDU pour plus de détails.
La qualité des tracés et des couleurs dépendent beaucoup du MODE utilisé, mais aussi du matériel et de l'environnement : Linux, Windows, navigateur, ... sur lequel le programme est exécuté. Dans certains cas, des tracés, des figures, voire des coloriages peuvent ne pas être affichés, sans qu'une erreur de script en soit responsable.
Voir le module aagfxlib.bbc qui propose des procédures et des fonctions permettant d'obtenir des graphismes anticrénelés.
RUBRIQUES.
Les dessins et les graphismes pour plus de détails sur la création de dessins et de graphismes.
La gestion des couleurs pour plus de détails sur la gestion des couleurs logiques et physiques.
EXEMPLE.
REM --- Avec les coordonnees absolues ---
MODE 8
MOVE 640 , 512
PRINT "Appuyez sur une touche pour quitter ... "
REPEAT
GCOL RND( 14 ) + 1
DRAW RND( 1280 ) , RND( 1023 )
kcode = INKEY( 10 )
UNTIL kcode <> -1
PRINT "Fin du test. Au revoir."
END
REM --- Avec les coordonnees relatives ---
MODE 8
MOVE 640 , 512
PRINT "Appuyez sur une touche pour quitter ... "
REPEAT
GCOL RND( 14 ) + 1
DRAW BY 60 - RND( 120 ) , 50 - RND( 100 )
kcode = INKEY( 10 )
UNTIL kcode <> -1
PRINT "Fin du test. Au revoir."
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.