請幫助我使用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通道