请帮助我使用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. 24位Alpha通道中BASE64_ENCODE
- 2. Alpha通道坐标
- 3. Alpha通道模糊
- 4. 清除NSImage的alpha通道
- 5. 使用gdi +在alpha乘以alpha位前乘以一个hdc?
- 6. alpha通道中的测试点
- 7. php gd替代alpha通道?
- 8. StretchBlt和过滤alpha通道
- 9. OpenGL ES 2.0 PNG alpha通道
- 10. 在OpenGl中正确绘制alpha通道
- 11. Java:从BufferedImage中提取Alpha通道
- 12. 在Windows/D3D中检测.png alpha通道
- 13. alpha通道的MovieClip(ActionScript3的)问题
- 14. 绘制位图的alpha通道
- 15. Alpha通道在IE 6.x的
- 16. 点击带alpha通道的div
- 17. 带有Alpha通道的WPF 3D纹理
- 18. XNA - 渲染到纹理的alpha通道
- 19. GraphiccMagick,如何去除Alpha通道
- 20. 删除HTML画布alpha通道
- 21. 检查QImage是否有alpha通道
- 22. WPF - ImageBrush与PNG,不尊重alpha通道
- 23. 仅将图形绘制为Alpha通道
- 24. Imagick更新后Alpha通道失败
- 25. HBITMAP增加透明度/ Alpha通道
- 26. 从UIImage矩形获取alpha通道
- 27. 将PNG拆分为RGB和Alpha通道
- 28. 构建ImagickPixel时设置Alpha通道
- 29. 如何设置WINDOWCLASSX hbrBackground alpha通道? (C++)
- 30. ImageMagick - 四舍五入alpha通道