使用Alpha Blend Mode kBlendModeOverlay将三个图像混合到图形上下文中

时间:2009-12-22 14:52:18

标签: iphone cocoa-touch uiimage core-graphics quartz-graphics

kCGBlendModeOverlay是否与Photoshop的叠加混合模式完全不同?我试图通过以下方式将三个图像叠加到图形上下文中:

[uiimageGreen drawAtPoint:CGPointMake(x, y) blendMode:kCGBlendModeOverlay alpha:1.0];
[uiimageRed drawAtPoint:CGPointMake(x, y) blendMode:kCGBlendModeOverlay alpha:1.0];
[uiimageBlue drawAtPoint:CGPointMake(x, y) blendMode:kCGBlendModeOverlay alpha:1.0];

最后,如果我只覆盖三个中的两个,结果在两个图像相交的地方更接近我想要的输出颜色。然而,添加第三图像会使得第一次绘制的图像的颜色在所产生的颜色混合中占主导地位。 (例如,在上面的代码中,当结果实际上是白色时,绿色占主导地位)

如果你尝试,你会得到相同的结果吗?

1 个答案:

答案 0 :(得分:0)

好吧,我在这里没有Photoshop可访问,所以我无法仔细检查,但事实证明我想要kCGBlendModeScreen ......并且可以按照需要运行。这是我有缺陷的记忆,显然无法正常工作。

一切都很好。 :)