我有一个iPhone应用程序通过CoreGraphics混合两个UIImage
对象进行图像处理,特别是CGContextSetBlendMode
。我目前正在研究将其移植到Android。我已经完成了使用PorterDuff模式在Android上组合Bitmap
个对象的过程。但是,我想要更复杂的合成。例如,我正在使用kCGBlendModeHardLight
进行多种混合:
乘以或屏幕颜色, 取决于源图像样本 颜色。如果是源图像样本 颜色比50%灰色浅 背景减轻了,类似于 筛选。如果是源图像样本 颜色比50%灰色深 背景暗淡,类似于 乘法。如果是源图像 样品颜色等于50%灰色, 源图像未更改。图片 样品等于纯黑色 或纯白色结果为纯黑色或 白色。整体效果类似 通过照亮你所取得的成就 源图像上的苛刻聚光灯。 使用此选项可为场景添加高光。
但是无论如何都不知道(如果可能的话)通过Porter-Duff模仿这个。 Android不支持更好的Image Manipulation算法吗?是否可以以某种方式使用Porter-Duff来模拟更高级的混合模式?
答案 0 :(得分:3)
除了12个Porter-Duff混合方程式外,Android还支持Lighten,Darken,Multiply,Screen和很快Overlay。不幸的是,这意味着HardLight不可用,您必须自己实现它。