PAINT |
Peinture |
---|---|
Turbo Basic |
Syntaxe
PAINT (x,y)[,cp[,cb[,fond]]] |
Paramètres
Nom | Description |
---|---|
x | Ce paramètre permet d'indiquer la coordonnée horizontale |
y | Ce paramètre permet d'indiquer la coordonnée verticale |
cp | Ce paramètre permet d'indiquer le numéro de la couleur de la peinture |
cb | Ce paramètre permet d'indiquer le numéro de la couleur de la bordure |
fond | Ce paramètre permet d'indiquer le numéro de la couleur de la fond |
Description
Cette commande permet de peinturer l'emplacement spécifié de l'écran graphique.
Remarques
- Les paramètres (x, y) spécifiez un point de départ dans une zone fermée à remplir. Si le point d'origine est dans la zone fermée, l'intérieur sera rempli. Si le point de peinture est à l'extérieur de la zone fermée, l'extérieur sera rempli.
- Le paramètre cp peut être une expression numérique ou chaîne de caractères. S'il est numérique, il spécifie l'attribut (couleur) à remplir. S'il s'agit d'une chaîne de caractères, il contient des informations de masque faisant que la zone est remplie d'un motif plutôt que d'une couleur unie. Si vous ne spécifiez pas de couleur, la couleur de premier plan est utilisée.
- Le paramètre cb est la couleur de bordure de la figure que vous remplissez. La commande PAINT arrête le remplissage chaque fois qu'il rencontre la couleur de contour. Le paramètre fond est un masque de chaîne de caractères optionnel utilisé lorsque vous souhaitez repeindre des zones. Le masque d'arrière-plan est une découpe de pavé à ignorer lors de la recherche de zones déjà remplies.
- L'instruction PAINT peut remplir n'importe quelle forme fermée, quelle que soit sa complexité. Le Turbo Basic choisit un octet à tracer à l'aide de la formule suivante :
- Assurez-vous que la zone à remplir est entièrement fermée, car si le remplissage "fuit" et votre image risque de se perdre dans l'écran.
- Si la couleur du paramètre est numérique, la commande PAINT remplit alors la forme avec la couleur indiquée, en s'arrêtant au niveau des pixels de la limite d'attribut ou de la couleur de l'attribut.
- Si cp est une expression de chaîne de caractères, la mosaïque sert à définir le motif à remplir. Le motif représenté par les paramètres de couleur de chaîne de caractères est large d'un octet (représentant 4 pixels en résolution moyenne et 8 pixels en mode haute résolution), et d'une longueur de 1 à 64 octets (représentant 1 à 64 lignes de balayage verticalement).
- En morceaux doit avec la couleur formatée comme suit :
- Le masque est basé sur les valeurs de bits sous-jacentes de couleur, le premier caractère représentant la première ligne du motif, le deuxième caractère le deuxième ligne du motif,.... Par exemple, le motif suivant représente un motif en damier (échelle de gris de 50%) en mode haute résolution :
- Le paramètre fond est utilisé pour définir la condition d'arrêt lors du remplissage d'une zone déjà configurée. Si l'opération de remplissage atteint un pixel. Cette situation correspond au bit correspondant en arrière-plan, le remplissage ne s'arrête pas, même si ce pixel a une limite de couleur.
- Lors d'un remplissage de morceau, le nombre d'attributs de couleur dans chaque mode d'écran détermine la manière dont le motif de l'écran est conçu. N'oubliez pas que le nombre de bits par pixel est corrélé au nombre d'attributs de couleur dans un mode d'écran donné. Vous pouvez utiliser la formule suivante pour calculer le nombre de bits par pixel :
- Morceau de SCREEN 1 : En résolution moyenne, en utilisant la formule précédente, X est égal à 4 pixels (représentés par 1 octet de morceau de résolution moyenne) et donc à 2 bits par pixel. Étant donné que chaque pixel a un attribut de couleur correspondant, il faudra 2 bits de l'octet du morceau pour décrire la totalité des 4 attributs. Le tableau suivant montre les valeurs décimales et hexadécimales correspondant à chaque attribut :
- Morceau de SCREEN 2 : Il y a 1 bit par pixel en haute résolution, ce qui permet à chaque morceau de représenter 8 pixels à l'écran. Partout où le masque est évalué à 1, un point est tracé. La chaîne de caractères peut contenir jusqu'à 64 octets. Le motif est représenté de manière cohérente dans toute la zone définie par une limite. Lorsque la limite n'est pas définie, la totalité de l'écran devient structurée.
- Morceau de SCREEN 7, 8, 9 et 10 : Pour ces modes d'écran améliorés, le modèle de morceau est conçu par une technique entreposant et interprète la chaîne de caractères en tant que pile d'unités de 8 bits connues collectivement comme plan de bit. Chaque mode d'écran nécessite des plans de 4 bits pour définir un octet de pavé, sauf le mode 10, requérant des plans de 2 bits.
y mod longueur du morceau |
CHR$(&Hnn) + CHR$(&Hnn) ...
Valeur | Description |
---|---|
10101010 | Premier octet |
01010101 | Deuxième octet |
Pour remplir une zone avec ce damier, créez une chaîne de caractères avec le code approprié d'informations de masque. Convertissez d'abord la forme binaire en hexadécimal :
10101010 = &HAA 01010101 = &H55 |
Construisez maintenant une chaîne de deux caractères en utilisant CHR$ :
pattern$ = CHR$(&HAA) + CHR$(&H55)
Maintenant l'instruction
PAINT(50,50),pattern$
se remplit de peinture grise (damier).
LOG2(X) = Y |
où X est égal au total des attributs de couleur de votre écran et Y est égal au nombre de bits par pixel.
Couleur de palette | Attribut en binaire | Motif en binaire | Motif en hexadécimal |
---|---|---|---|
0 Vert Rouge Brun |
01 10 11 |
01010101 10101010 11111111 |
&H55 &HAA &HFF |
1 Cyan Magenta Blanc |
01 10 11 |
01010101 10101010 11111111 |
&H55 &HAA &HFF |
Références
INFOGUIDE - Turbo Basic, Editions P.S.I., Bénédicte Hudault, 1988, ISBN: 2-86595-531-1, page 101
Dernière mise à jour : Mardi, le 28 juillet 2015