Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用Alpha混合模式kBlendModeOverlay将三个图像混合到图形上下文中_Iphone_Cocoa Touch_Uiimage_Core Graphics_Quartz Graphics - Fatal编程技术网

Iphone 使用Alpha混合模式kBlendModeOverlay将三个图像混合到图形上下文中

Iphone 使用Alpha混合模式kBlendModeOverlay将三个图像混合到图形上下文中,iphone,cocoa-touch,uiimage,core-graphics,quartz-graphics,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]; [uiimag

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];
最后,如果我只覆盖三幅图像中的两幅,结果在两幅图像相交的地方更接近我想要的输出颜色。但是,添加第三个图像会导致第一个绘制图像的颜色在生成的颜色混合中占主导地位。(例如,在上述代码中,绿色占主导地位,而结果实际上应为白色)


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

好吧,我这里没有可访问的Photoshop,所以我无法再次检查,但结果证明我想要kCGBlendModeScreen…并且它可以按预期工作。显然是我有缺陷的记忆不能正常工作

一切又好起来了