一个背景加载一个图片,然后把加载的图片的颜色过滤掉 用SDK
HINSTANCE hBmpInstance=hInst;
HBITMAP hImageBmp,hMaskBmp; //位图句柄
BITMAP Bmp; //BITMAP是结构体
HDC hImageDc,hMakeDc;
hMakeDc = CreateCompatibleDC(hdc);
hImageDc = CreateCompatibleDC(hdc); //创建兼容设备
hImageBmp = (HBITMAP)LoadImage(hBmpInstance,MAKEINTRESOURCE(IDB_name),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION);
GetObject(hImageBmp,sizeof(BITMAP),&Bmp); //获取位图尺寸
SelectObject(hImageDc,hImageBmp); //将位图加到设备中
hMaskBmp=CreateBitmap(Bmp.bmWidth,Bmp.bmHeight,1,1,NULL);//建立单色位图
SelectObject(hMakeDc,hMaskBmp);
SetBkColor(hImageDc,RGB(图片RGB背景RGB值));
/*为什么setBkcolor能过滤掉图片的背景
BitBlt(hMakeDc,0,0,Bmp.bmWidth,Bmp.bmHeight,hImageDc,0,0,SRCCOPY);
SetBkColor(hImageDc,RGB(0,0,0));
SetTextColor(hImageDc,RGB(255,255,255));
BitBlt(hImageDc,0,0,Bmp.bmWidth,Bmp.bmHeight,hMakeDc,0,0,SRCAND);
SetBkColor(hdc,RGB(255,255,255));
SetTextColor(hdc,RGB(0,0,0));
BitBlt(hdc,x,y,Bmp.bmWidth,Bmp.bmHeight,hMakeDc,0,0,SRCAND);
BitBlt(hdc,x,y,Bmp.bmWidth,Bmp.bmHeight,hImageDc,0,0,SRCPAINT);
DeleteObject(hImageBmp); //清除位图
DeleteObject(hMaskBmp);
DeleteDC(hImageDc);
DeleteDC(hMakeDc);
HINSTANCE hBmpInstance=hInst;
HBITMAP hImageBmp,hMaskBmp; //位图句柄
BITMAP Bmp; //BITMAP是结构体
HDC hImageDc,hMakeDc;
hMakeDc = CreateCompatibleDC(hdc);
hImageDc = CreateCompatibleDC(hdc); //创建兼容设备
hImageBmp = (HBITMAP)LoadImage(hBmpInstance,MAKEINTRESOURCE(IDB_name),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION);
GetObject(hImageBmp,sizeof(BITMAP),&Bmp); //获取位图尺寸
SelectObject(hImageDc,hImageBmp); //将位图加到设备中
hMaskBmp=CreateBitmap(Bmp.bmWidth,Bmp.bmHeight,1,1,NULL);//建立单色位图
SelectObject(hMakeDc,hMaskBmp);
SetBkColor(hImageDc,RGB(图片RGB背景RGB值));
/*为什么setBkcolor能过滤掉图片的背景
BitBlt(hMakeDc,0,0,Bmp.bmWidth,Bmp.bmHeight,hImageDc,0,0,SRCCOPY);
SetBkColor(hImageDc,RGB(0,0,0));
SetTextColor(hImageDc,RGB(255,255,255));
BitBlt(hImageDc,0,0,Bmp.bmWidth,Bmp.bmHeight,hMakeDc,0,0,SRCAND);
SetBkColor(hdc,RGB(255,255,255));
SetTextColor(hdc,RGB(0,0,0));
BitBlt(hdc,x,y,Bmp.bmWidth,Bmp.bmHeight,hMakeDc,0,0,SRCAND);
BitBlt(hdc,x,y,Bmp.bmWidth,Bmp.bmHeight,hImageDc,0,0,SRCPAINT);
DeleteObject(hImageBmp); //清除位图
DeleteObject(hMaskBmp);
DeleteDC(hImageDc);
DeleteDC(hMakeDc);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货