API увеличения просто использует DSTINVERT флаг:
Тест инвертирования цветов экрана =>
HDC hDC = GetDC(NULL);
RECT rcClient;
GetClientRect(GetDesktopWindow(), &rcClient);
int nWidth = rcClient.right - rcClient.left;
int nHeight = rcClient.bottom - rcClient.top;
HDC hMemDC = CreateCompatibleDC(hDC);
HBITMAP hBitmap = CreateCompatibleBitmap(hDC, nWidth, nHeight);
HBITMAP hBmOld = (HBITMAP)SelectObject(hMemDC, hBitmap);
BitBlt(hMemDC, 0, 0, nWidth, nHeight, hDC, 0, 0, SRCCOPY);
BitBlt(hDC, 0, 0, nWidth, nHeight, hMemDC, 0, 0, DSTINVERT);
SelectBitmap(hMemDC, hBmOld);
DeleteDC(hMemDC);
DeleteObject(hBitmap);
ReleaseDC(NULL, hDC);