我试图将包含透明区域的增强图元转换为仅使用GDI函数的32位位图。 这有可能得到正确的alpha值吗?
以下将导致将每个像素的alpha值设置为0的32位位图:
首先,我使用GetDC(NULL)检索的屏幕DC,用CreateCompatibleDC(NULL)创build一个内存DC,用CreateCompatibleDC(NULL)一个HBITMAP 。 (后者产生一个32位位图的句柄。)
然后,我使用SelectObject将创build的位图select到内存DC中。
如何在Windows上的Ruby中处理UNCpath?
相当于c#中的换行符
用FileStream和FILE_FLAG_NO_BUFFERING读取文件
Ubuntu分区设置运行Docker机器在Windows框
最后,我使用PlayEnhMetaFile将包含透明区域的增强图元文件绘制到内存DC中。
使用C uder Window OS与UTC时间同步系统时钟
使用.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] 举报,一经查实,本站将立刻删除。