45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:怎么样画透明背景的位图?

怎么样画透明背景的位图?

2016-08-30 13:02:16 来源:www.45fan.com 【

怎么样画透明背景的位图?

怎么样画透明背景的位图?//该函数摘自MSDN.
怎么样画透明背景的位图?
怎么样画透明背景的位图?voidDrawTransparentBitmap(HDChdc,HBITMAPhBitmap,shortxStart,
怎么样画透明背景的位图?
shortyStart,COLORREFcTransparentColor)
怎么样画透明背景的位图?怎么样画透明背景的位图?
{
怎么样画透明背景的位图?BITMAPbm;
怎么样画透明背景的位图?COLORREFcColor;
怎么样画透明背景的位图?HBITMAPbmAndBack,bmAndObject,bmAndMem,bmSave;
怎么样画透明背景的位图?HBITMAPbmBackOld,bmObjectOld,bmMemOld,bmSaveOld;
怎么样画透明背景的位图?HDChdcMem,hdcBack,hdcObject,hdcTemp,hdcSave;
怎么样画透明背景的位图?POINTptSize;
怎么样画透明背景的位图?
怎么样画透明背景的位图?hdcTemp
=CreateCompatibleDC(hdc);
怎么样画透明背景的位图?SelectObject(hdcTemp,hBitmap);
//Selectthebitmap
怎么样画透明背景的位图?
怎么样画透明背景的位图?GetObject(hBitmap,sizeof(BITMAP),(LPSTR)&bm);
怎么样画透明背景的位图?ptSize.x
=bm.bmWidth;//Getwidthofbitmap
怎么样画透明背景的位图?ptSize.y=bm.bmHeight;//Getheightofbitmap
怎么样画透明背景的位图?DPtoLP(hdcTemp,&ptSize,1);//Convertfromdevice
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//tologicalpoints
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//CreatesomeDCstoholdtemporarydata.
怎么样画透明背景的位图?hdcBack=CreateCompatibleDC(hdc);
怎么样画透明背景的位图?hdcObject
=CreateCompatibleDC(hdc);
怎么样画透明背景的位图?hdcMem
=CreateCompatibleDC(hdc);
怎么样画透明背景的位图?hdcSave
=CreateCompatibleDC(hdc);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//CreateabitmapforeachDC.DCsarerequiredforanumberof
怎么样画透明背景的位图?
//GDIfunctions.
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//MonochromeDC
怎么样画透明背景的位图?bmAndBack=CreateBitmap(ptSize.x,ptSize.y,1,1,NULL);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//MonochromeDC
怎么样画透明背景的位图?bmAndObject=CreateBitmap(ptSize.x,ptSize.y,1,1,NULL);
怎么样画透明背景的位图?
怎么样画透明背景的位图?bmAndMem
=CreateCompatibleBitmap(hdc,ptSize.x,ptSize.y);
怎么样画透明背景的位图?bmSave
=CreateCompatibleBitmap(hdc,ptSize.x,ptSize.y);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//EachDCmustselectabitmapobjecttostorepixeldata.
怎么样画透明背景的位图?bmBackOld=(HBITMAP)::SelectObject(hdcBack,bmAndBack);
怎么样画透明背景的位图?bmObjectOld
=(HBITMAP)::SelectObject(hdcObject,bmAndObject);
怎么样画透明背景的位图?bmMemOld
=(HBITMAP)::SelectObject(hdcMem,bmAndMem);
怎么样画透明背景的位图?bmSaveOld
=(HBITMAP)::SelectObject(hdcSave,bmSave);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//Setpropermappingmode.
怎么样画透明背景的位图?SetMapMode(hdcTemp,GetMapMode(hdc));
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//Savethebitmapsenthere,becauseitwillbeoverwritten.
怎么样画透明背景的位图?BitBlt(hdcSave,0,0,ptSize.x,ptSize.y,hdcTemp,0,0,SRCCOPY);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//SetthebackgroundcolorofthesourceDCtothecolor.
怎么样画透明背景的位图?
//containedinthepartsofthebitmapthatshouldbetransparent
怎么样画透明背景的位图?cColor=SetBkColor(hdcTemp,cTransparentColor);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//CreatetheobjectmaskforthebitmapbyperformingaBitBlt
怎么样画透明背景的位图?
//fromthesourcebitmaptoamonochromebitmap.
怎么样画透明背景的位图?BitBlt(hdcObject,0,0,ptSize.x,ptSize.y,hdcTemp,0,0,
怎么样画透明背景的位图?SRCCOPY);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//SetthebackgroundcolorofthesourceDCbacktotheoriginal
怎么样画透明背景的位图?
//color.
怎么样画透明背景的位图?SetBkColor(hdcTemp,cColor);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//Createtheinverseoftheobjectmask.
怎么样画透明背景的位图?BitBlt(hdcBack,0,0,ptSize.x,ptSize.y,hdcObject,0,0,
怎么样画透明背景的位图?NOTSRCCOPY);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//CopythebackgroundofthemainDCtothedestination.
怎么样画透明背景的位图?BitBlt(hdcMem,0,0,ptSize.x,ptSize.y,hdc,xStart,yStart,
怎么样画透明背景的位图?SRCCOPY);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//Maskouttheplaceswherethebitmapwillbeplaced.
怎么样画透明背景的位图?BitBlt(hdcMem,0,0,ptSize.x,ptSize.y,hdcObject,0,0,SRCAND);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//Maskoutthetransparentcoloredpixelsonthebitmap.
怎么样画透明背景的位图?BitBlt(hdcTemp,0,0,ptSize.x,ptSize.y,hdcBack,0,0,SRCAND);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//XORthebitmapwiththebackgroundonthedestinationDC.
怎么样画透明背景的位图?BitBlt(hdcMem,0,0,ptSize.x,ptSize.y,hdcTemp,0,0,SRCPAINT);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//Copythedestinationtothescreen.
怎么样画透明背景的位图?BitBlt(hdc,xStart,yStart,ptSize.x,ptSize.y,hdcMem,0,0,
怎么样画透明背景的位图?SRCCOPY);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//Placetheoriginalbitmapbackintothebitmapsenthere.
怎么样画透明背景的位图?BitBlt(hdcTemp,0,0,ptSize.x,ptSize.y,hdcSave,0,0,SRCCOPY);
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//Deletethememorybitmaps.
怎么样画透明背景的位图?DeleteObject(SelectObject(hdcBack,bmBackOld));
怎么样画透明背景的位图?DeleteObject(SelectObject(hdcObject,bmObjectOld));
怎么样画透明背景的位图?DeleteObject(SelectObject(hdcMem,bmMemOld));
怎么样画透明背景的位图?DeleteObject(SelectObject(hdcSave,bmSaveOld));
怎么样画透明背景的位图?
怎么样画透明背景的位图?
//DeletethememoryDCs.
怎么样画透明背景的位图?DeleteDC(hdcMem);
怎么样画透明背景的位图?DeleteDC(hdcBack);
怎么样画透明背景的位图?DeleteDC(hdcObject);
怎么样画透明背景的位图?DeleteDC(hdcSave);
怎么样画透明背景的位图?DeleteDC(hdcTemp);
怎么样画透明背景的位图?}

怎么样画透明背景的位图?
 

本文地址:http://www.45fan.com/dnjc/69826.html
Tags: 一个 背景 透明
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部