pixel_drawing_mode
mode d'actualisation des couleurs RVB des pixels lors des tracés graphiques
Description
Les couleurs des pixels sont encodées selon les 3 canaux RVB (Rouge Vert Bleu). Pour chaque pixel, chaque canal a une valeur entière sur [0, 255] (uint8).
.pixel_drawing_mode
est une des propriétés des fenêtres graphiques. Elle indique l'opération binaire à effectuer pour chaque canal RVB de chaque pixel entre la couleur préexistante du pixel de la fenêtre avant le tracé, et la couleur du même pixel de l'objet à tracer. Scilab n'actualise pas nécessairement la couleur du pixel en imposant la couleur de l'objet à tracer comme nouvelle couleur "opaque". La couleur du fond peut par exemple être prise en compte, autorisant certains effets de transparence.
src
est la couleur du pixel considéré dans l'objet à tracer / dessiner.cur
est la couleur courante préxistante du même pixel, avant le tracé.
pixel_drawing_mode
sont listées ci-après, suivies de l'opération binaire correspondante. Dans ces expressions logiques,
NOT v
signifie255 - v
a AND b
signifiea & b
a OR b
signifiea | b
a XOR b
signifie(a OR b) AND NOT (a AND b)
Valeur | opération effectuée / résultat |
---|---|
"copy" (par défaut) | src |
"copyInverted" | NOT src |
"noop" | cur |
"invert" | NOT cur |
"set" | White |
"clear" | Black |
"equiv" | cur XOR (NOT src) |
"xor" | cur XOR src |
"or" | cur OR src |
"orInverted" | cur OR (NOT src) |
"orReverse" | (NOT cur) OR src |
"nor" | NOT (cur OR src) |
"and" | cur AND src |
"andInverted" | cur AND (NOT src) |
"andReverse" | (NOT cur) AND src |
"nand" | NOT (cur AND src) |
Exemples
pxmodes = ["copy", "copyInverted", "equiv", "xor", .. "and", "nand", "andReverse", "andInverted", .. "or", "nor", "orReverse", "orInverted", .. "noop", "set", "clear", "invert" .. ]; // Dimensions et recouvrement marginal des fenêtres en damier s = 300; hm = 8; vm = 52; // for k = 16:-1:1 m = pxmodes(k); // Position de la fenêtre i = fix((k-1)/4); j = modulo(k-1,4); // Création et paramétrage de la fenêtre f = figure("toolbar_visible","off", .. "menubar_visible","off", .. "infobar_visible","off", .. "figure_position", [j*(s-hm), i*(s-vm)], .. "figure_size", [s s], .. "background", color("grey85"), .. "pixel_drawing_mode", m .. ); drawlater // Configuration du tracé b = 0.82; plot2d([],[],0,"051"," ",[-1 -1 1 1]*b) plot2d([-1 1]*b,[0 0]) a = gca(); a.isoview = "on"; a.tight_limits = "on"; title(m,"fontsize",4) // Affichage de 3 disques rouge, vert et bleu se recouvrant partiellement xfarc(-0.7, 0.8, 1, 1, 0, 360*64) e = gce(); e.background = color("red"); e.fill_mode = "on"; xfarc(-0.2, 0.5, 1, 1, 0, 360*64) e = gce(); e.background = color("blue"); e.fill_mode = "on"; xfarc(-0.7, 0.2, 1, 1, 0, 360*64) e = gce(); e.background = color("green"); e.fill_mode = "on"; drawnow end // Ménage : on supprime les 16 fenêtres b = messagebox(_("Presser OK pour fermer les fenêtres"),"Clore la démonstration", "question", "modal"); w = winsid(); close(w($-15:$));
Voir ausi
- figure_properties — description of the graphics figure entity properties
- anti_aliasing — Figure's property smoothing the stair-like aspect when rendering curves
- colordef — Set the color look-and-feel of a given or of all forthcoming graphic figures
- lighting — Lighting overview
- Matplot — 2D plot of a matrix using colors
Report an issue | ||
<< gdf | Fenêtres - Figures | scf >> |