Setpixel question
CBitmap* pBOriginal; // pointer to original bitmap, passed into function
COLORREF crOldBack = pDC->SetBkColor(m_crWhite);
COLORREF crOldText = pDC->SetTextColor(m_crBlack);
CDC dcTrans, MaskDC;
// get bitmap information passed into function
BITMAP BOriginalInfo;
BITMAP* pBOriginalInfo = &BOriginalInfo;
pBOriginal->GetBitmap(pBOriginalInfo);
int nWidth = pBOriginalInfo->bmWidth;
int nHeight = pBOriginalInfo->bmHeight;
// Create two memory dcs for the image and the mask
MaskDC.CreateCompatibleDC(pDC);
dcTrans.CreateCompatibleDC(pDC);
// Select the image into the appropriate dc
MaskDC.SelectObject(pBOriginal);
// Create the mask bitmap
CBitmap bitmapTrans;
bitmapTrans.CreateBitmap(nWidth, nHeight, 1, 1, NULL);
// Select the mask bitmap into the appropriate dc
dcTrans.SelectObject(&bitmapTrans);
// Build mask based on transparent colour
MaskDC.SetBkColor(crColour);
dcTrans.BitBlt(0, 0, nWidth, nHeight, &MaskDC, 0, 0, SRCCOPY);
// change to color, doesn't seem to work...
COLORREF cr_black = RGB(0, 0, 0);
COLORREF cr_red = RGB(255, 0, 0);
for(int i = 0; i<nWidth; i++)
{
for(int j = 0; j<nHeight; j++)
{
if(dcTrans.GetPixel(i, j) == cr_black)
{
dcTrans.SetPixel(i, j, cr_red);
}
}
}
pDC->BitBlt(x, y, nWidth, nHeight, &dcTrans, 0, 0, SRCAND); // displays monochrome still
jigen3

