【发布时间】:2014-03-12 05:15:42
【问题描述】:
我有几个带有 Alpha 通道的 32 位位图。
我需要编写一个新的位图,该位图又有一个 Alpha 通道。所以最终的位图稍后与 AlphaBlend 一起使用。
不需要拉伸。如果没有 alpha 通道,我会使用 BitBlt 创建新的位图。
我没有使用托管代码,我只想使用标准的 GDI / WinAPI 函数来执行此操作。我也对不需要一些特殊库的解决方案感兴趣。
TIA
注意:我知道我可以使用多个 AphaBlend 函数在最终输出中进行相同的合成。但是为了在我的程序中易于使用,我更愿意编写一次这样的位图。
【问题讨论】:
-
this SO answer 有帮助吗?或this?
-
这是GDI+,一定有办法,只用GDI。
-
或this answer? 它链接的文章非常详细地解释了 alpha 混合 GDI,包括将许多位图相互组合成最终位图,然后您可以混合一次。它有一个你也可以使用的 Delphi 类(你没有提到你正在使用什么语言。)
-
具体来说,您在处理过程的哪个部分有困难:从文件加载位图、合成、使用结果、将结果保存到文件中,还是其他?
标签: winapi gdi alphablending