请帮助我使用HDC中的alpha通道。我使HDC直流投掷CreateCompatibleDC。除了调用CreateDIBSection并可以在内存中查找图像的字节数。将DrawFrameControl调用到此DC。所有的作品,但在内存中有4个字节每个像素和alpha通道填充00。即使有FF之前。但我需要alpha通道。我如何让DrawFrameControl设置真正的alpha值或者不要触摸它们。谢谢。对不起英文不好:(DeviceContext(HDC)中的Alpha通道
6
A
回答
7
你不能让GDI不能写入每个像素4字节的字节/保留字节GDI并不是真正意义上的字母,除了一对夫妇像AlphaBlend
功能。但是,您可以使用知识,它写入和复位阿尔法0 知道哪些像素就写信给,事后手动修复阿尔法。
欲了解更多信息,请阅读这三个文章:
- Transparent Graphics with GDI, Part 1
- Transparent Graphics with GDI, Part 1 1/2
- Transparent Graphics with GDI, Part 2
前两种可能会给你足够的信息来实现你想要的。
这些文章采用一种通用的方法来处理alpha与GDI函数,通过扫描alpha被破坏并修复它的像素(并进入更先进的技术来绘制几个事情在彼此之上,以正确的alpha。 )FrameRect
绘制一个矩形,其中线条是单位宽度和高度。您可能发现使用直线绘制效率更高,甚至直接编辑内存中的像素位图,可以在内存中绘制直线。这避免了必须扫描GDI绘制像素的整个位图 - 毕竟,由于它是一个具有一个单位宽边的矩形,因此您可以确切知道哪些像素已被绘制,并且可以自己编辑它们。
相关问题
- 1. HDC是否使用alpha通道?
- 2. 24位Alpha通道中BASE64_ENCODE
- 3. 拼合alpha通道中GGPLOT2
- 4. Alpha通道模糊
- 5. 使用gdi +在alpha乘以alpha位前乘以一个hdc?
- 6. 清除NSImage的alpha通道
- 7. OpenGL着色器中的Alpha通道
- 8. alpha通道中的测试点
- 9. 模糊QImage alpha通道
- 10. StretchBlt和过滤alpha通道
- 11. Canvas toDataURL不带alpha通道
- 12. php gd替代alpha通道?
- 13. OpenGL ES 2.0 PNG alpha通道
- 14. alpha通道如何为-1?
- 15. 从ListView中删除Alpha通道ConvertView
- 16. Java:从BufferedImage中提取Alpha通道
- 17. 从UIImage中删除alpha通道
- 18. 在Windows/D3D中检测.png alpha通道
- 19. 在OpenGl中正确绘制alpha通道
- 20. AS3 bitmapdata基于第三个alpha通道混合两个alpha通道
- 21. 图片地图通过alpha通道
- 22. alpha通道的MovieClip(ActionScript3的)问题
- 23. 添加alpha通道的OpenCV垫
- 24. Alpha通道在IE 6.x的
- 25. 点击带alpha通道的div
- 26. 绘制位图的alpha通道
- 27. 带“alpha”通道的“直”版图像
- 28. 带alpha通道的渐变带
- 29. 只有alpha通道的GetPixels和SetPixels
- 30. XNA - 渲染到纹理的alpha通道