如何同时实现图片的透明度和透明色打印?
码到成功 2009-04-08 01:40:34 现有一张图片,有一种颜色需要过滤掉,其余部分要按某种透明度打印,如何实现?
我用了下面的代码,但是无法实现过滤颜色,请大家帮忙:
void DrawPicture(HWND hwnd, HDC hDC, HBITMAP hBitmap)
{
RECT rc;
BITMAP bmTime;
HDC hTimeDC;
BOOL bRet;
COLORREF color = RGB(0,0,0);
GetWindowRect(hwnd,&rc);
GetObject( hBitmap, sizeof(bmTime),&bmTime);
hTimeDC = CreateCompatibleDC(hDC);
bRet = TransparentImage( hTimeDC,0,20,bmTime.bmWidth ,bmTime.bmHeight, hBitmap, 0, 0,bmTime.bmWidth ,bmTime.bmHeight ,color);
SelectObject(hTimeDC, hBitmap);
BLENDFUNCTION blend = { AC_SRC_OVER, 0,50, 0/*AC_SRC_ALPHA */};
bRet = AlphaBlend(hDC, 0, 20, bmTime.bmWidth, bmTime.bmHeight, hTimeDC, 0, 0, bmTime.bmWidth, bmTime.bmHeight , blend);
ReleaseDC(hwnd,hTimeDC);
}