ios - 任意混合半透明的PNG,在iOS上保留Alpha

标签 ios core-graphics alpha-transparency blending cifilter

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

我知道此解决方案:

How to tint a transparent PNG image in iPhone?

不幸的是,DestinationIn / SourceOut / Mask都在alpha区域显示了明显的视觉伪像。在对图形进行分层时,这一点尤其明显:

除了使用Core Graphics,我还尝试了CoreImage,它不会在CIMultiplyCompositing中显示任何伪像,但是没有用于其他Core Graphics混合模式(例如屏幕和覆盖)的相应过滤器

我也使用过GPUImage,但是遇到了相同的视觉伪像,尽管这似乎是库中的错误。

最佳答案

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

关于ios - 任意混合半透明的PNG,在iOS上保留Alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15724556/

相关文章:

ios - uiview 内的 uiscrollview 不起作用

ios - 仅在一个 ViewController 中旋转

iOS:逆 UIBezierPath (bezierPathWithOvalInRect)

C++ opengl bmp 和 alpha channel

ios - iOS7 和 iOS8 中的全屏自定义 Popover 问题

ios - 为什么使用 Core Graphics 绘制直线我得到 "dashed"行?

objective-c - 在 CALayer 或 CGImage 上实现径向 alpha 渐变?

linux - Matlab 中的 AlphaData 替代方案

java - JScrollPane实际滚动条的自定义显示(设为透明)

ios - Swift Parse - 将对象保存在关键位置