RECTANGLE
DESCRIPTION.
L'instruction RECTANGLE permet de créer des rectangles, ou des carré, de la couleur d'avant-plan.
L'instruction RECTANGLE FILL permet de créer des rectangles, ou des carré, pleins de la couleur d'avant-plan.
Voir l'instruction RECTANGLE ... TO pour recopier une zone rectangulaire.
Voir l'instruction RECTANGLE FILL ... TO pour déplacer une zone rectangulaire.
Voir l'instruction RECTANGLE SWAP ... TO pour échanger le contenu de deux zones rectangulaires.
Le mot clé RECTANGLE se trouve aussi dans les instructions composées :
- MOUSE RECTANGLE pour forcer le pointeur de la souris à rester dans une zone.
- MOUSE RECTANGLE OFF pour autoriser le pointeur de la souris à se déplacer sur toute la fenêtre de sortie.
SYNTAXE.
RECTANGLE abscisse , ordonnee , largeur , hauteur
RECTANGLE abscisse , ordonnee , taille
RECTANGLE FILL abscisse , ordonnee , largeur , hauteur
RECTANGLE FILL abscisse , ordonnee , taille
REMARQUES.
abscisse, ordonnee, largeur, hauteur et taille doivent être des nombres entiers compris entre −32768 et +32767.
abscisse est l'abscisse du coin en bas et à gauche (origine) du rectangle ;
ordonnee est l'ordonnée du coin en bas et à gauche (origine) du rectangle ;
largeur est la taille horizontale du rectangle ;
hauteur est la taille verticale du rectangle ;
taille est la taille des cotés du carré.
La forme :
- RECTANGLE abscisse , ordonnee , largeur , hauteur dessine un rectangle vide ;
- RECTANGLE FILL abscisse , ordonnee , largeur , hauteur dessine un rectangle plein ;
- RECTANGLE abscisse , ordonnee , taille dessine un carré vide ;
- RECTANGLE FILL abscisse , ordonnee , taille dessine un carré plein.
Les rectangles tracés avec RECTANGLE ou avec RECTANGLE FILL sont toujours dessinés dans les axes de la fenêtre de sortie.
Pour créer des rectangles dans un autre axe, on utilisera :
- 4 instructions LINE ;
- 4 instructions DRAW ou DRAW BY ;
- PLOT mode , abscisse , ordonnee, où mode aura une valeur comprise entre 117 et 119, ou ;
- PLOT mode , horizontal , vertical, où mode aura une valeur comprise entre 113 et 115, ou ;
Voir l'instruction PLOT pour plus de détails pour tracer des parallélogrammes.
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.
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.
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.
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 --- Initialisation ---
MODE 8
ktype$ = "V"
REM --- Boucle principale ---
REPEAT
REM --- Choix et controle du type de figure ---
PRINT "Entrez V pour dessiner un rectangle vide ou "
PRINT "Entrez P pour dessiner un rectangle plein ou "
INPUT "Entrez Q pour Quitter " , kchoix$
IF kchoix$ = "Q" OR kchoix$ = "q" THEN EXIT REPEAT
IF kchoix$ = "V" OR kchoix$ = "v" OR kchoix$ = "P" OR kchoix$ = "p" THEN ktype$ = kchoix$
REM --- Choix et controle de l'abscisse ---
INPUT "Entrez l'abscisse (1 a 1279) ... " , kabscisse
IF kabscisse < 1 OR kabscisse > 1279 THEN kabscisse = 639
REM --- Choix et controle de l'abscisse ---
INPUT "Entrez l'ordonnee (1 a 1023) ... " , kordonnee
IF kordonnee < 1 OR kordonnee > 1023 THEN kordonnee = 511
REM --- Choix et controle de la largeur ---
INPUT "Entrez la largeur (-500 a 500) ... " , klargeur
IF klargeur < -500 OR klargeur > 500 THEN klargeur = 250
REM --- Choix et controle de la hauteur---
INPUT "Entrez la longueur (-500 a 500) ... " , khauteur
IF khauteur < -500 OR khauteur > 500 THEN khauteur = 250
REM --- Choix et controle de la couleur ---
INPUT "Entrez la couleur (1 a 15) ... " , kcouleur
IF kcouleur < 1 OR kcouleur > 15 THEN kcouleur = 3
GCOL kcouleur
CLS : CLG
REM --- Dessin ---
IF ktype$ = "V" OR kchoix$ = "v" THEN
RECTANGLE kabscisse , kordonnee , klargeur , khauteur
PRINT "RECTANGLE " ; kabscisse ; " , " ; kordonnee ; " , " ; klargeur ; " , " ; khauteur
ELSE
RECTANGLE FILL kabscisse , kordonnee , klargeur , khauteur
PRINT "RECTANGLE FILL " ; kabscisse ; " , " ; kordonnee ; " , " ; klargeur ; " , " ; khauteur
ENDIF
UNTIL FALSE
REM --- Fin du programme ---
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.