任意混合半透明PNG,在iOS上保留alpha

时间:2013-03-30 23:14:02

标签: ios core-graphics alpha-transparency blending cifilter

我希望能够使用任意混合将半透明PNG与单一颜色叠加并保留alpha。

我知道这个解决方案:

How to tint a transparent PNG image in iPhone?

不幸的是,DestinationIn / SourceOut / Mask都会在alpha区域中显示明显的视觉假象。在分层图形时,这一点尤为明显:

Example on the difference

除了使用Core Graphics之外,我还尝试过CoreImage,它在CIMultiplyCompositing中没有显示任何伪像,但没有其他Core Graphics混合模式(如Screen和Overlay)的相应滤镜

我也曾与GPUImage合作,但遇到了相同的视觉文物,尽管这似乎是图书馆中的一个错误。

1 个答案:

答案 0 :(得分:0)

我发现并修复了导致问题的GPUImage中的错误。然后我手动将所有混合实现为着色器。