Operações Raster Ternárias
Esta seção lista os códigos ternários de operação de raster, usados pelo BitBlt, PatBlte funções StretchBlt. Os códigos ternários de operação de raster definem como o GDI combina os bits em um bitmap de origem com os bits no bitmap de destino.
Cada código de operação raster-representa uma operação booleana na qual os valores dos pixels na origem, o pincel selecionado e o destino são combinados. A seguir estão os três operandos usados nessas operações.
Operando | Significado |
---|---|
D | Bitmap de destino |
P | Pincel selecionado (também chamado de padrão) |
S | Bitmap de origem |
Seguem-se os operadores booleanos utilizados nestas operações.
Operador | Significado |
---|---|
um | Bitwise E |
n | Bitwise NÃO (inverso) |
o | Bitwise OU |
x | Bitwise exclusivo OR (XOR) |
Todas as operações booleanas são apresentadas em notação polonesa reversa. Por exemplo, a operação a seguir substitui os valores dos pixels no bitmap de destino por uma combinação dos valores de pixel da origem e do pincel:
PSo
A operação a seguir combina os valores dos pixels na origem e pincel com os valores de pixel do bitmap de destino (há grafias alternativas da mesma função, portanto, embora uma ortografia específica possa não estar na lista, uma forma equivalente seria):
DPSoo
Cada código de operação de raster é um inteiro de 32 bits cuja palavra de ordem alta é um índice de operação booleano e cuja palavra de ordem baixa é o código de operação. O índice de operação de 16 bits é um valor de 8 bits estendido por zero que representa o resultado da operação booleana em valores predefinidos de pincel, origem e destino. Por exemplo, os índices de operação para as operações PSo e DPSoo são mostrados na lista a seguir.
P | S | D | PSo | DPSoo |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 0 | 1 | 1 | 1 |
1 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 |
Índice de operação: | 00FCh | 00FEh |
Neste caso, o PSo tem o índice de operação 00FC (lido de baixo para cima); DPSoo tem o índice de operação 00FE. Estes valores definem a localização dos códigos de operação de rasterização correspondentes, como mostra o Quadro A.1, "CódigosRaster-Operation". A operação PSo está na linha 252 (00FCh) da tabela; DPSoo está na linha 254 (00FEh).
As operações raster mais usadas receberam nomes especiais no arquivo de cabeçalho do SDK, WINDOWS.H. Deve utilizar estes nomes sempre que possível nas suas aplicações.
Quando os bitmaps de origem e destino são monocromáticos, um valor de bit de zero representa um pixel preto e um valor de bit de 1 representa um pixel branco. Quando os bitmaps de origem e destino são coloridos, essas cores são representadas com valores RGB. Para obter mais informações sobre valores RGB, consulte RGB.
Raster-Operation Códigos
Função booleana (hexadecimal) | Operação raster (hexadecimal) | Função booleana em polonês reverso | Nome comum |
---|---|---|---|
00 | 00000042 | 0 | NEGRITUDE |
01 | 00010289 | DPSoon | |
02 | 00020C89 | DPSona | |
03 | 000300AA | PSon | |
04 | 00040C88 | SDPona | |
05 | 000500A9 | DPon | |
06 | 00060865 | PDSxnon | |
07 | 000702C5 | PDSaon | |
08 | 00080F08 | SDPnaa | |
09 | 00090245 | PDSxon | |
0A | 000A0329 | DPna | |
0 B | 000B0B2A | PSDnaon | |
0ºC | 000C0324 | SPna | |
0D | 000D0B25 | PDSnaon | |
0E | 000E08A5 | PDSonon | |
0F | 000F0001 | Pn | |
10 | 00100C85 | PDSona | |
11 | 001100A6 | DSon | NOTSRCERASE |
12 | 00120868 | SDPxnon | |
13 | 001302C8 | SDPaon | |
14 | 00140869 | DPSxnon | |
15 | 001502C9 | DPSaon | |
16 | 00165CCA | PSDPSanaxx | |
17 | 00171D54 | SSPxDSxaxn | |
18 | 00180D59 | SPxPDxa | |
19 | 00191CC8 | SDPSanaxn | |
1º-A | 001A06C5 | PDSPaox | |
1 B | 001B0768 | SDPSxaxn | |
1º C | 001C06CA | PSDPaox | |
1D | 001D0766 | DSPDxaxn | |
1E | 001E01A5 | PDSox | |
1º F | 001F0385 | PDSoan | |
20 | 00200F09 | DPSnaa | |
21 | 00210248 | SDPxon | |
22 | 00220326 | DSna | |
23 | 00230B24 | SPDnaon | |
24 | 00240D55 | SPxDSxa | |
25 | 00251CC5 | PDSPanaxn | |
26 | 002606C8 | SDPSaox | |
27 | 00271868 | SDPSxnox | |
28 | 00280369 | DPSxa | |
29 | 002916CA | PSDPSaoxxn | |
2º-A | 002A0CC9 | DPSana | |
2 B | 002B1D58 | SSPxPDxaxn | |
2º C | 002C0784 | SPDSoax | |
2D | 002D060A | PSDnox | |
2E | 002E064A | PSDPxox | |
2º F | 002F0E2A | PSDnoan | |
30 | 0030032A | PSna | |
31 | 00310B28 | SDPnaon | |
32 | 00320688 | SDPSoox | |
33 | 00330008 | Sn | NOTSRCCOPY |
34 | 003406C4 | SPDSaox | |
35 | 00351864 | SPDSxnox | |
36 | 003601A8 | SDPox | |
37 | 00370388 | SDPoan | |
38 | 0038078A | PSDPoax | |
39 | 00390604 | SPDnox | |
3º-A | 003A0644 | SPDSxox | |
3 B | 003B0E24 | SPDnoan | |
3ºC | 003C004A | PSx | |
3D | 003D18A4 | SPDSonox | |
3E | 003E1B24 | SPDSnaox | |
3º F | 003F00EA | PSan | |
40 | 00400F0A | PSDnaa | |
41 | 00410249 | DPSxon | |
42 | 00420D5D | SDxPDxa | |
43 | 00431CC4 | SPDSanaxn | |
44 | 00440328 | SDna | SRCERASE |
45 | 00450B29 | DPSnaon | |
46 | 004606C6 | DSPDaox | |
47 | 0047076A | PSDPxaxn | |
48 | 00480368 | SDPxa | |
49 | 004916C5 | PDSPDaoxxn | |
4º-A | 004A0789 | DPSDoax | |
4 B | 004B0605 | PDSnox | |
4ºC | 004C0CC8 | SDPana | |
4D | 004D1954 | SSPxDSxoxn | |
4E | 004E0645 | PDSPxox | |
4º F | 004F0E25 | PDSnoan | |
50 | 00500325 | PDna | |
51 | 00510B26 | DSPnaon | |
52 | 005206C9 | DPSDaox | |
53 | 00530764 | SPDSxaxn | |
54 | 005408A9 | DPSonon | |
55 | 00550009 | Dn | DSTINVERT |
56 | 005601A9 | DPSox | |
57 | 00570389 | DPSoan | |
58 | 00580785 | PDSPoax | |
59 | 00590609 | DPSnox | |
5º-A | 005A0049 | DPx | PATINVERT |
5 B | 005B18A9 | DPSDonox | |
5ºC | 005C0649 | DPSDxox | |
5D | 005D0E29 | DPSnoan | |
5E | 005E1B29 | DPSDnaox | |
5F | 005F00E9 | DPan | |
60 | 00600365 | PDSxa | |
61 | 006116C6 | DSPDSaoxxn | |
62 | 00620786 | DSPDoax | |
63 | 00630608 | SDPnox | |
64 | 00640788 | SDPSoax | |
65 | 00650606 | DSPnox | |
66 | 00660046 | DSx | SRCINVERT |
67 | 006718A8 | SDPSonox | |
68 | 006858A6 | DSPDSonoxxn | |
69 | 00690145 | PDSxxn | |
6º-A | 006A01E9 | DPSax | |
6 ter | 006B178A | PSDPSoaxxn | |
6ºC | 006C01E8 | SDPax | |
6D | 006D1785 | PDSPDoaxxn | |
6E | 006E1E28 | SDPSnoax | |
6º F | 006F0C65 | PDSxnan | |
70 | 00700CC5 | PDSana | |
71 | 00711D5C | SSDxPDxaxn | |
72 | 00720648 | SDPSxox | |
73 | 00730E28 | SDPnoan | |
74 | 00740646 | DSPDxox | |
75 | 00750E26 | DSPnoan | |
76 | 00761B28 | SDPSnaox | |
77 | 007700E6 | DSan | |
78 | 007801E5 | PDSax | |
79 | 00791786 | DSPDSoaxxn | |
7º-A | 007A1E29 | DPSDnoax | |
7 B | 007B0C68 | SDPxnan | |
7ºC | 007C1E24 | SPDSnoax | |
7D | 007D0C69 | DPSxnan | |
7E | 007E0955 | SPxDSxo | |
7º F | 007F03C9 | DPSaan | |
80 | 008003E9 | DPSaa | |
81 | 00810975 | SPxDSxon | |
82 | 00820C49 | DPSxna | |
83 | 00831E04 | SPDSnoaxn | |
84 | 00840C48 | SDPxna | |
85 | 00851E05 | PDSPnoaxn | |
86 | 008617A6 | DSPDSoaxx | |
87 | 008701C5 | PDSaxn | |
88 | 008800C6 | DSa | SRCAND |
89 | 00891B08 | SDPSnaoxn | |
8º-A | 008A0E06 | DSPnoa | |
8 ter | 008B0666 | DSPDxoxn | |
8ºC | 008C0E08 | SDPnoa | |
8D | 008D0668 | SDPSxoxn | |
8E | 008E1D7C | SSDxPDxax | |
8F | 008F0CE5 | PDSanan | |
90 | 00900C45 | PDSxna | |
91 | 00911E08 | SDPSnoaxn | |
92 | 009217A9 | DPSDPoaxx | |
93 | 009301C4 | SPDaxn | |
94 | 009417AA | PSDPSoaxx | |
95 | 009501C9 | DPSaxn | |
96 | 00960169 | DPSxx | |
97 | 0097588A | PSDPSonoxx | |
98 | 00981888 | SDPSonoxn | |
99 | 00990066 | DSxn | |
9º-A | 009A0709 | DPSnax | |
9 B | 009B07A8 | SDPSoaxn | |
9ºC | 009C0704 | SPDnax | |
9D | 009D07A6 | DSPDoaxn | |
9E | 009E16E6 | DSPDSaoxx | |
9º F | 009F0345 | PDSxan | |
A0 | 00A000C9 | DPa | |
A1 | 00A11B05 | PDSPnaoxn | |
A2 | 00A20E09 | DPSnoa | |
A3 | 00A30669 | DPSDxoxn | |
A4 | 00A41885 | PDSPonoxn | |
A5 | 00A50065 | PDxn | |
A6 | 00A60706 | DSPnax | |
A7 | 00A707A5 | PDSPoaxn | |
A8 | 00A803A9 | DPSoa | |
A9 | 00A90189 | DPSoxn | |
AA | 00AA0029 | D | |
AB | 00AB0889 | DPSono | |
CA | 00AC0744 | SPDSxax | |
ANÚNCIO | 00AD06E9 | DPSDaoxn | |
AE | 00AE0B06 | DSPnao | |
AF | 00AF0229 | DPno | |
B0 | 00B00E05 | PDSnoa | |
B1 | 00B10665 | PDSPxoxn | |
B2 | 00B21974 | SSPxDSxox | |
B3 | 00B30CE8 | SDPanan | |
B4 | 00B4070A | PSDnax | |
B5 | 00B507A9 | DPSDoaxn | |
B6 | 00B616E9 | DPSDPaoxx | |
B7 | 00B70348 | SDPxan | |
B8 | 00B8074A | PSDPxax | |
B9 | 00B906E6 | DSPDaoxn | |
BA | 00BA0B09 | DPSnao | |
BB | 00BB0226 | DSno | MERGEPAINT |
BC | 00BC1CE4 | SPDSanax | |
BD | 00BD0D7D | SDxPDxan | |
BE | 00BE0269 | DPSxo | |
BF | 00BF08C9 | DPSano | |
C0 | 00C000CA | PSa | MESCLAR |
C1 | 00C11B04 | SPDSnaoxn | |
C2 | 00C21884 | SPDSonoxn | |
C3 | 00C3006A | PSxn | |
C4 | 00C40E04 | SPDnoa | |
C5 | 00C50664 | SPDSxoxn | |
C6 | 00C60708 | SDPnax | |
C7 | 00C707AA | PSDPoaxn | |
C8 | 00C803A8 | SDPoa | |
C9 | 00C90184 | SPDoxn | |
AC | 00CA0749 | DPSDxax | |
CB | 00CB06E4 | SPDSaoxn | |
CC | 00CC0020 | S | SRCCOPY |
Álbum | 00CD0888 | SDPono | |
CE | 00CE0B08 | SDPnao | |
FC | 00CF0224 | SPno | |
D0 | 00D00E0A | PSDnoa | |
D 1 | 00D1066A | PSDPxoxn | |
D 2 | 00D20705 | PDSnax | |
D 3 | 00D307A4 | SPDSoaxn | |
D 4 | 00D41D78 | SSPxPDxax | |
D 5 | 00D50CE9 | DPSanan | |
D 6 | 00D616EA | PSDPSaoxx | |
D 7 | 00D70349 | DPSxan | |
D 8 | 00D80745 | PDSPxax | |
D 9 | 00D906E8 | SDPSaoxn | |
DA | 00DA1CE9 | DPSDanax | |
BD | 00DB0D75 | SPxDSxan | |
CC | 00DC0B04 | SPDnao | |
DD | 00DD0228 | SDno | |
DE | 00DE0268 | SDPxo | |
DF | 00DF08C8 | SDPano | |
E0 | 00E003A5 | PDSoa | |
E1 | 00E10185 | PDSoxn | |
E2 | 00E20746 | DSPDxax | |
E3 | 00E306EA | PSDPaoxn | |
E4 | 00E40748 | SDPSxax | |
E5 | 00E506E5 | PDSPaoxn | |
E6 | 00E61CE8 | SDPSanax | |
E7 | 00E70D79 | SPxPDxan | |
E8 | 00E81D74 | SSPxDSxax | |
E9 | 00E95CE6 | DSPDSanaxxn | |
EA | 00EA02E9 | DPSao | |
EB | 00EB0849 | DPSxno | |
CE | 00EC02E8 | SDPao | |
DE | 00ED0848 | SDPxno | |
EE | 00EE0086 | DSo | SRCPAINT |
EF | 00EF0A08 | SDPnoo | |
F0 | 00F00021 | P | PATCOPY |
F1 | 00F10885 | PDSono | |
F2 | 00F20B05 | PDSnao | |
F3 | 00F3022A | PSno | |
F4 | 00F40B0A | PSDnao | |
F5 | 00F50225 | PDno | |
F6 | 00F60265 | PDSxo | |
F7 | 00F708C5 | PDSano | |
F8 | 00F802E5 | PDSao | |
F9 | 00F90845 | PDSxno | |
FA | 00FA0089 | DPo | |
FB | 00FB0A09 | DPSnoo | PATPAINT |
FC | 00FC008A | PSo | |
DF | 00FD0A0A | PSDnoo | |
FE | 00FE02A9 | DPSoo | |
FF | 00FF0062 | 1 | BRANCURA |
8000 | 80000000 | NOMIRRORBITMAP |