【发布时间】:2010-12-15 18:48:20
【问题描述】:
我有一个 iPhone 应用程序,它通过 CoreGraphics 混合两个 UIImage 对象进行图像处理,特别是 CGContextSetBlendMode。我目前正在研究将其移植到Android。我已经完成了使用 PorterDuff 模式在 Android 上组合到 Bitmap 对象的过程。但是,我想要更复杂的合成。例如,我将kCGBlendModeHardLight 用于许多混合:
无论是乘法还是筛选颜色, 取决于源图像样本 颜色。如果源图像样本 颜色比 50% 灰色浅,则 背景变亮,类似于 筛选。如果源图像样本 颜色深于 50% 的灰色,则 背景变暗,类似于 倍增。如果源图像 样本颜色等于 50% 灰色,则 源图像没有改变。图片 等于纯黑色的样本 或纯白色导致纯黑色或 白色的。整体效果差不多 达到你通过闪耀 源图像上的强烈聚光灯。 使用它为场景添加高光。
但无论如何都不知道(如果可能的话)通过 Porter-Duff 模拟这个。 Android 是否不支持开箱即用的更好的图像处理算法?是否可以以某种方式使用 Porter-Duff 来模拟更高级的混合模式?
【问题讨论】:
标签: iphone android core-graphics blending porter-duff