DRAW
GW-Basic, utilisé par PC-Basic
Exemple de programmation
Pour dessiner une figure.
DRAW string expression
L'instruction DRAW combine la plupart des fonctionnalités des autres
instructions graphiques dans un langage de définition d'objet appelé Graphics
Macro Language (GML). Une commande GML est un caractère unique dans une chaîne,
éventuellement suivi d'un ou plusieurs arguments.
L'instruction DRAW
n'est valide qu'en mode graphique.
Commandes de mouvement :
Chacune des commandes de mouvement suivantes commence le mouvement à partir de
la position graphique actuelle. Il s'agit généralement de la coordonnée du
dernier point graphique tracé avec une autre commande GML, LINE ou PSET.
La position actuelle est par défaut au centre de l'écran (160,100) en résolution moyenne SCREEN 7 ; (320,175) en haute résolution SCREEN 9 lorsqu'un programme est exécuté.
Les commandes de mouvement se déplacent sur une distance de facteur d'échelle
*n, où la valeur par défaut pour n est 1 ; ainsi, ils se déplacent d'un point si
n est omis et que le facteur d'échelle par défaut est utilisé.
Mouvements
de commande
Un haut
Dn vers le bas
Ln gauche
R à droite
En
diagonale vers le haut et vers la droite
Fn en diagonale vers le bas et vers
la droite
Gn en diagonale vers le bas et vers la gauche
Hn en diagonale
vers le haut et vers la gauche
Cette commande se déplace comme spécifié par l'argument suivant :
Mx,y
Déplacement absolu ou relatif. Si x est précédé d'un + ou d'un -, x et y sont
ajoutés à la position graphique courante et reliés à la position courante par
une ligne. Sinon, une ligne est tracée au point x, y à partir de la position
actuelle.
Les commandes de préfixe suivantes peuvent précéder n'importe laquelle des
commandes de mouvement ci-dessus :
B Déplace, mais ne trace aucun point.
N Déplace, mais revient à la position d'origine lorsque vous avez terminé.
Les commandes suivantes sont également disponibles :
An Angle réglé n. n
peut aller de 0 à 3, où 0 est 0°, 1 est 90°, 2 est 180° et 3 est 270°. Les
figures tournées à 90° ou 270° sont mises à l'échelle de sorte qu'elles
apparaissent de la même taille qu'avec 0° ou 180° sur un écran de moniteur avec
le rapport d'aspect standard de 4:3.
TAn Angle de braquage n. n peut être n'importe quelle valeur comprise entre moins 360 et plus 360. Si la valeur spécifiée par n est positive, l'angle tourne dans le sens inverse des aiguilles d'une montre. Si la valeur spécifiée par n est négative, il tourne dans le sens des aiguilles d'une montre.
Cn Définir la couleur n. Voir les instructions SCREEN, COLOR, PALETTE pour des discussions sur les couleurs, les nombres et les attributs valides.
Sn Définir le facteur d'échelle. n peut être compris entre 1 et 255. n est divisé par 4 pour obtenir le facteur d'échelle. Le facteur d'échelle est multiplié par les distances données avec les commandes U, D, L, R, E, F, G, H ou M relatives pour obtenir la distance réelle parcourue. La valeur par défaut pour S est 4.
xstring ; variable
Exécuter la sous-chaîne. Cette commande exécute une deuxième sous-chaîne à
partir d'une chaîne, un peu comme GOSUB. Une chaîne en exécute une autre, qui en
exécute une troisième, et ainsi de suite.
chaîne est une variable
affectée à une chaîne de commandes de mouvement.
Ppaint, boundary
Spécifie les couleurs d'une figure graphique et crée une figure remplie.
paint spécifie la couleur avec laquelle vous voulez que la figure soit
remplie.
boundary spécifie la couleur de la bordure (contour).
Voir les instructions COLOR, PALETTE et SCREEN pour des discussions sur les
couleurs, les nombres et les attributs valides.
Vous devez spécifier des
valeurs pour la peinture et la frontière lorsqu'elles sont utilisées.
Cette commande (Ppaint,boundary) ne peint pas le carrelage en couleur.
Arguments numériques :
Les arguments numériques peuvent être des constantes comme "123" ou
"=variable;", où variable est le nom d'une variable.
Lorsque vous
utilisez la deuxième syntaxe, "=variable;", le point-virgule doit être utilisé.
Sinon, le point-virgule est facultatif entre les commandes.
Vous pouvez
également spécifier des variables à l'aide de VARPTR$(variable).
Exemple
1:
Pour dessiner une boîte en résolution moyenne :
10 SCREEN 1 20 A=20 30 DRAW "U=A; R=A; D=A; L=A;"
Exemple 2 :
Le format d'image pour dessiner un carré sur un écran standard est de 4:3,
comme indiqué ci-dessous :
Pour dessiner un carré de 96 pixels de large
sur un écran de 640 × 200 pixels (SCREEN 2), effectuez les calculs suivants :
Valeur horizontale = 96
Valeur verticale = 96*(200/640)*(4/3)
ou
Valeur verticale = 40
Valeur horizontale = 40*(640/200)*(3/4)
Les valeurs horizontales sont égales aux 4/3 des valeurs verticales.
Exemple 3 :
Pour dessiner un triangle en moyenne résolution :
10 CLS
20 SCREEN 1
30 PSET (60, 125)
40 DRAW "E100; F100; L199"