При рисовании битовых изображений вы
При рисовании битовых изображений вы также можете использовать растровые операции, причем цвет полученного изображения в зависимости от выбранной растровой операции может определяться цветом исходного изображения, цветом поверхности, на которой выполняется рисование, и цветом кисти, выбранной в контекст отображения.
Чаще всего используется код растровой операции SRCCOPY. В этом случае цвет кисти, выбранной в контекст отображения, не имеет значения, так как ни цвет кисти, ни цвет фона не влияют на цвет нарисованного изображения.
Однако вы можете использовать и другие коды растровых операций (всего их 256). В этом случае для вычисления цвета полученного после рисования пиксела можно выбрать практически любое логическое выражение, учитывающее цвет фона, цвет кисти и цвет пиксела изображения.
В файле windows.h описаны константы для наиболее полезных кодов растровых операций. Мы опишем эти константы вместе с соответствующими логическими выражениями. При этом символом S мы будем обозначать цвет исходного изображения, символом D - цвет фона на котором выполняется рисование, и P - цвет кисти, выбранной в контекст отображения.
Код растровой операции |
Логическое выражение |
Описание |
SRCCOPY |
S |
Исходное изображение копируется в контекст отображения |
SRCPAINT |
S | D |
Цвет полученного изображения определяется при помощи логической операции ИЛИ над цветом изображения и цветом фона |
SRCAND |
S & D |
Цвет полученного изображения определяется при помощи логической операции И над цветом изображения и цветом фона |
SRCINVERT |
S ^ D |
Цвет полученного изображения определяется при помощи логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ над цветом изображения и цветом фона |
SRCERASE |
S & ~D |
Цвет фона инвертируется, затем выполняется операция И над результатом и цветом исходного изображения |
NOTSRCCOPY |
~S |
После рисования цвет изображения получается инвертированием цвета исходного изображения |
NOTSRCERASE |
~(S | D) |
Цвет полученного изображения получается инвертированием результата логической операции ИЛИ над цветом изображения и цветом фона |
MERGECOPY |
P & S |
Выполняется логическая операции И над цветом исходного изображения и цветом кисти |
MERGEPAINT |
~S | D |
Выполняется логическая операции ИЛИ над инвертированным цветом исходного изображения и цветом фона |
PATCOPY |
P |
Выполняется копирование цвета кисти |
PATPAINT |
P | ~S | D |
Цвет кисти комбинируется с инвертированным цветом исходного изображения, при этом используется логическая операция ИЛИ. Полученный результат комбинируется с цветом фона, также с помощью логической операции ИЛИ |
PATINVERT |
P ^ D |
Цвет полученного изображения определяется при помощи логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ над цветом кисти и цветом фона |
DSTINVERT |
~D |
Инвертируется цвет фона |
BLACKNESS |
0 |
Область закрашивается черным цветом |
WHITENESS |
1 |
Область закрашивается белым цветом |
<
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий