画像を透過色で透過する
右の画像の赤色の部分を透過したい
下記はMFCでのやり方
m_cBitmapはCBitmap型
IDB_BMP_IMGはイメージのリソースID
赤色で透過したいのでRGB(255, 0, 0)
OnInitDlgで
m_cBitmap.LoadBitmap(IDB_BMP_IMG);
OnPaintで
CPaintDC dc(this); BITMAP bmp; m_cBitmap.GetBitmap(&bmp); CDC cDC; cDC.CreateCompatibleDC(&dc); CBitmap *pOldBitmap = cDC.SelectObject(&m_cBitmap); dc.TransparentBlt(0, 0, bmp.bmWidth, bmp.bmHeight, &cDC, 0, 0, bmp.bmWidth, bmp.bmHeight, RGB(255, 0, 0)); if (pOldBitmap) { cDC.SelectObject(pOldBitmap); }