BitBlt для инвертирования цветов с использованием C ++ - PullRequest
0 голосов
/ 17 февраля 2012

Я использую BitBlt WinAPI для создания растрового изображения с использованием C ++, и мне было интересно, какие флаги мне нужно использовать, чтобы инвертировать цвета в нем?

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Что вы пробовали?

BitBlt:

  • DSTINVERT Инвертирует целевой прямоугольник.
  • PATINVERT Объединяет цветакисть, выбранная в данный момент в hdcDest, с цветами прямоугольника назначения с использованием логического оператора XOR.
  • SRCINVERT Объединяет цвета исходного и целевого прямоугольников с использованием оператора логического XOR.
0 голосов
/ 23 сентября 2018

Вы можете использовать: NOTSRCCOPY.

код:

HDC hdc = GetDC(HWND_DESKTOP); BitBlt(hdc, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), hdc, NULL, NULL, NOTSRCCOPY);

...