Alpha channel in DeviceContext (HDC)
请帮助我使用HDC中的Alpha通道。我使HDC DC抛出CreateCompatibleDC。比调用CreateDIBSection可以在内存中找到图像的字节。比将DrawFrameControl调用到此DC。一切正常,但是内存中每个像素有4个字节,alpha通道填充为00。即使以前有FF,也是如此。但是我需要Alpha通道。如何使DrawFrameControl设置真实的Alpha值,或者只是不要触摸它们。谢谢你。对不起,英语不好:(
您不能使GDI不能写入每像素4字节位图的alpha /保留字节。除了一些
有关更多信息,请阅读以下三篇文章:
- 带有GDI的透明图形,第1部分
- 带有GDI的透明图形,第1 1/2部分
- 带有GDI的透明图形,第2部分
前两个可能会给您足够的信息来实现您想要的。
这些文章采用通用方法来处理具有GDI功能的alpha,方法是扫描遮盖了alpha的像素并对其进行修复(并采用更先进的技术以正确的alpha相互绘制多个对象。)