RECTANGLE ... TO ...
DESCRIPTION.
L'instruction RECTANGLE ... TO ... permet de recopier une zone rectangulaire de la fenêtre de sortie vers un autre emplacement sans effacer la zone modèle.
Voir l'instruction RECTANGLE pour créer des rectangles de la couleur d'avant-plan.
Voir l'instruction RECTANGLE FILL pour créer des rectangles pleins de la couleur d'avant-plan.
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.
SYNTAXE.
RECTANGLE abscisse , ordonnee , largeur , hauteur TO versx , versy
REMARQUES.
abscisse, ordonnee, largeur, hauteur, versx et versy doivent être des nombres entiers compris entre −32768 et +32767.
abscisse est l'abscisse du coin inférieur bas (origine) de la zone à déplacer.
ordonnee est l'ordonnée du coin inférieur bas (origine) de la zone à déplacer.
largeur largeur de la zone à déplacer.
hauteur hauteur de la zone à déplacer.
versx est l'abscisse du coin inférieur bas de la zone de destination.
versy est l'ordonnée du coin inférieur bas de la zone de destination.
L'instruction RECTANGLE ... TO ... recopie le contenu d'une zone rectangulaire de la fenêtre de sortie vers un autre emplacement de la même fenêtre de sortie. La zone origine ne sera pas modifié après la copie, sauf si une portion de origine est couverte par une partie de la zone de destination, cette portion sera modifiée par le nouveau graphisme.
Si les caractéristiques de la surface graphique ont été modifiées avec une commande VDU 24, les zones d'origine et de destination peuvent tout de même se trouver hors de la surface graphique.
MODE 8
VDU 24 , 100 ; 100 ; 500 ; 500 ; : REM - restreint la surface graphique
GCOL 12
GCOL 143
CLG : REM - remplie la surface graphique de la couleur d'arrière-plan
CIRCLE FILL 250 , 250 , 75
LINE 100 , 300 , 500 , 300
LINE 300 , 100 , 300 , 500
RECTANGLE 150 , 150 , 200 , 200 TO 600 , 600 : REM - copie hors de la surface graphique
RECTANGLE 600 , 600 , 200 , 200 TO 200 , 700 : REM - copie exterieur à la surface graphique
LINE 0 , 0 , 1279 , 1023 : REM - trace temoin
END
Le tracé témoin LINE 0 , 0 , 1279 , 1023, programmé pour aller du coin inférieur-gauche au coin supérieur-droit, et qui n'est affiché que dans la surface graphique, démontre bien qu'il n'est pas possible de dessiner en dehors de la surface graphique, mais que les copies peuvent être fait vers et/ou depuis toute la fenêtre de sortie.
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.
L'instruction RECTANGLE ... TO ... correspond à PLOT 187.
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.
MODE 8
GCOL 6 : ELLIPSE FILL 300 , 300 , 80 , 30
GCOL 7 : ELLIPSE FILL 300 , 300 , 30 , 80
GCOL 4 : CIRCLE FILL 300 , 300 , 35
GCOL 3 : CIRCLE 300 , 300 , 50
LINE 250 , 250 , 350 , 350
LINE 250 , 350 , 350 , 250
PRINT "Appuyez sur D pour deplacer,"
PRINT "Appuyez sur Q pour quitter."
REPEAT
kchoix$ = GET$
IF kchoix$ = "Q" OR kchoix$ = "q" THEN EXIT REPEAT
RECTANGLE 175 , 175 , 250 , 250 TO RND( 1200 ) , RND( 1000 )
UNTIL FALSE
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.