- for ( int h = 0; ok && (h < height); h++ )
- {
- COLORREF col = GetPixel(srcDC, w, h);
- if ( col == CLR_INVALID )
- {
- wxLogLastError(wxT("GetPixel"));
-
- // doesn't make sense to continue
- ok = FALSE;
-
- break;
- }
-
- if ( col == maskColour )
- {
- ::SetPixel(destDC, w, h, RGB(0, 0, 0));
- }
- else
- {
- ::SetPixel(destDC, w, h, RGB(255, 255, 255));
- }
- }
+ // this will create a monochrome bitmap with 0 points for the pixels
+ // which have the same value as the background colour and 1 for the
+ // others
+ ::SetBkColor(srcDC, maskColour);
+ ::BitBlt(destDC, 0, 0, width, height, srcDC, 0, 0, NOTSRCCOPY);