我有一个 iPhone 应用程序,它UIImage
通过 CoreGraphics 混合两个对象来进行图像处理,特别是CGContextSetBlendMode
. 我目前正在研究将其移植到 Android 上。我已经完成了Bitmap
使用 PorterDuff 模式在 Android 上组合对象的过程。但是,我想要更复杂的合成。例如,我kCGBlendModeHardLight
用于许多混合:
根据源图像样本颜色,乘以或筛选颜色。如果源图像样本颜色浅于 50% 灰色,则背景变亮,类似于加网。如果源图像样本颜色比 50% 灰色深,则背景变暗,类似于相乘。如果源图像样本颜色等于 50% 灰度,则源图像不会更改。等于纯黑色或纯白色的图像样本会产生纯黑色或纯白色。整体效果类似于通过将强烈的聚光灯照射在源图像上所达到的效果。使用它为场景添加高光。
但是无论如何都不知道(如果可能的话)通过 Porter-Duff 来模拟这个。Android 是否不支持开箱即用的更好的图像处理算法?是否可以以某种方式使用 Porter-Duff 来模拟更高级的混合模式?