微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用PlayEnhMetaFile绘制带有Alpha通道的增强型图元文件

我试图将包含透明区域的增强图元转换为仅使用GDI函数的32位位图。 这有可能得到正确的alpha值吗?

以下将导致将每个像素的alpha值设置为0的32位位图:

首先,我使用GetDC(NULL)检索的屏幕DC,用CreateCompatibleDC(NULL)创build一个内存DC,用CreateCompatibleDC(NULL)一个HBITMAP 。 (后者产生一个32位位图的句柄。)

然后,我使用SelectObject将创build的位图select到内存DC中。

如何在Windows上的Ruby中处理UNCpath?

如何从MysqL数据库打印BLOB文档

相当于c#中的换行符

用FileStream和FILE_FLAG_NO_BUFFERING读取文件

Ubuntu分区设置运行Docker机器在Windows框

最后,我使用PlayEnhMetaFile将包含透明区域的增强图元文件绘制到内存DC中。

使用C uder Window OS与UTC时间同步系统时钟

删除特殊目录Python的内容(Windows)

使用.NET监视Windows 7中的声卡输出

如何使用Windows机器中的Node Js连接到Oracle数据库

AWS:不能以英文以外的其他语言启动Windows Server 2012 R2 Base

我没有PlayEnhMetaFile经验,但你可以用AlphaBlend绘制带有Alpha通道的内存DC

inline BOOL AlphaBlt(HDC hDC,int x,int y,int cx,int cy,HDC hSrcDC,int xSrc,int ySrc,int cxSrc,int cySrc) { static BLENDFUNCTION bf = {AC_SRC_OVER,255,AC_SRC_ALPHA}; return AlphaBlend(hDC,x,y,cx,cy,hSrcDC,xSrc,ySrc,cxSrc,cySrc,bf); }

希望有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐