Окт 16

Тернарные растровые операции

Последний параметр, dwRop, в функциях BitBlt, PatBlt и Stretch Bit задает растровую операцию, которая указывает для GDI, как должны комбинироваться биты исходного изображения с битами изображения-приемника и с битами шаблона текущей кисти. Результат операции определяет новое состояние изображения-приемника. Поскольку число операндов равно трем, то операция относится к классу тернарных операций.
В Win32 API существует 256 ROP-кодов (raster-operation codes). Растровые операции кодируются 32-разрядными двойными словами DWORD. В старшем слове хранится один из 256 однобайтных кодов растровой операции, а младшее слово содержит кодировку формулы, по которой растровая операция реализуется драйвером графического устройства.
Разработчики Microsoft присвоили символические имена только пятнадцати тернарным растровым операциям из 256. Видимо, это как раз те операции, которые использует операционная система.