b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

vc100.pdb_blendfunction_alphablend

电脑杂谈  发布时间:2017-01-17 00:01:06  来源:网络整理

标 题:刚完成一个透明圆角矩形代码的编写,与大家分享一下作 者:非安全时 间:2009-12-07 08:09

链 接:?t=102605

先看下网上的实现半透明矩形的代码

一个可绘制半透明矩形的代码-nohacks收集整理

CDCmemdc;

CBitmapbmp,*pOldBitmap;

memdc.CreateCompatibleDC(pDC);

bmp.CreateCompatibleBitmap(pDC,300,200);

pOldBitmap=memdc.SelectObject(&bmp);

memdc.FillSolidRect(0,0,300,200,RGB(0,0,255));//蓝色

BLENDFUNCTIONbf;

bf.BlendOp=AC_SRC_OVER;

bf.BlendFlags=0;

bf.SourceConstantAlpha=0x7f;//半透明

bf.AlphaFormat=0;

AlphaBlend(pDC->GetSafeHdc(),0,0,300,200,memdc.GetSafeHdc(),0,0,300,200,bf);

memdc.SelectObject(pOldBitmap);

typedefstruct_BLENDFUNCTION{

BYTEBlendOp;源混合操作,只支持AC_SRC_OVER

BYTEBlendFlags;保留,必须为0

BYTESourceConstantAlpha;透明度0-255

BYTEAlphaFormat;透明这里应为0,

}BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION;

AlphaBlend函数功能:该函数用来显示具有指定透明度的图像。

函数原型:AlphaBlend(HDChdcDest,intnXOriginDest,intnYOriginDest,intnWidthDest,inthHeightDest,HDChdcSrc,intnXOriginSrc,intnYOriginSrc,intnWidthSrc,intnHeightSrc,BLENDFUNCTIONblendFunction);

参数:

hdcDest:指向目标设备环境的句柄。

nXoriginDest:指定目标矩形区域左上角的X轴坐标,按逻辑单位。blendfunction

nYOriginDest:指定目标矩形区域左上角的Y轴坐标,按逻辑单位。

nWidthDest:指定目标矩形区域的宽度,按逻辑单位。

hHeghtdest:指向目标矩形区域高度的句柄,按逻辑单位。

hdcSrc:指向源设备环境的句柄。

nXOriginSrc:指定源矩形区域左上角的X轴坐标,按逻辑单位。

nYOriginSrc:指定源矩形区域左上角的Y轴坐标,按逻辑单位。

nWidthSrc:指定源矩形区域的宽度,按逻辑单位。blendfunction

nHeightSrc:指定源矩形区域的高度,按逻辑单位。

blendFunction:指定用于源位图和目标位图使用的alpha混合功能,用于整个源位图的全局alpha值和格式信息。源和目标混合功能当前只限为AC_SRC_OVER。

AlphaBlend的详细说明:?fr=ala0

我们要实现在桌面上画透明圆角矩形,用上面的代码肯定不行,CreateCompatibleBitmap不能创建圆角矩形的BMP图片,当然我们可以用RoundRect画圆角矩形,但怎么进行透明叠加了,我们可以采用下面的方法:

创建2个与屏幕兼容的DC和BMP


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-26790-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 叶鹏
      叶鹏

      希望在以后能够继续专注我的作品

    热点图片
    拼命载入中...