在源BMP上用RoundRect画圆角矩形,用AlphaBlend进行透明叠加,结果保存在目标BMP
如下面的代码:
HDC=GetDC(0)'取屏幕DC
CDC=CreateCompatibleDC(HDC)'目标设备环境的句柄
dc=CreateCompatibleDC(HDC)'源设备环境的句柄
BMP=CreateCompatibleBitmap(HDC,1024,768)'目标BMP
fBitmap=CreateCompatibleBitmap(HDC,1024,768)'源BMP
ReleaseDC(0,HDC)
SelectObject(CDC,BMP)'关联到目标DC
oldBitmap=SelectObject(dc,fBitmap)'关联到源DC
'开始在源BMP上画圆角矩形
hPen=CreatePen(PS_INSIDEFRAME|PS_SOLID),500,RGB(255,255,10))
SelectObject(dc,hPen)
RoundRect(dc,1024,1024-275,124,20,20)
'画随机壁纸,要在透明处理前
.......
'进行透明叠加,结果在目标DC
bf.BlendOp=AC_SRC_OVER
bf.BlendFlags=0
bf.SourceConstantAlpha=50
bf.AlphaFormat=0
AlphaBlend(CDC,0,0,1024,768,dc,0,0,1024,768,bf)
这样BMP里就是含有透明矩形的BMP图片了,在进行桌面美化时这段代码非常有用,效果见下图
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-26790-2.html
如果是包装漏气了
而且舰龄老化