Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.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
Ios 涉及alpha时,顺时针合成的意外结果_Ios_Alpha_Core Image - Fatal编程技术网

Ios 涉及alpha时,顺时针合成的意外结果

Ios 涉及alpha时,顺时针合成的意外结果,ios,alpha,core-image,Ios,Alpha,Core Image,当尝试使用CoreImage在iOS上使用60%alpha通道的图像放置在另一个100%alpha通道的图像上时,我得到了一个出乎意料的结果。如果我拍摄这两张图像并将场景_2_480p放置在场景_480p上,如下所示: let back: CIImage = loadImage("scene_480p", type: "jpg"); let front: CIImage = loadImage("scene_2_480p", type: "png"); let composeFilter: CI

当尝试使用CoreImage在iOS上使用60%alpha通道的图像放置在另一个100%alpha通道的图像上时,我得到了一个出乎意料的结果。如果我拍摄这两张图像并将场景_2_480p放置在场景_480p上,如下所示:

let back: CIImage = loadImage("scene_480p", type: "jpg");
let front: CIImage = loadImage("scene_2_480p", type: "png");
let composeFilter: CIFilter = CIFilter(name: "CISourceOverCompositing");
composeFilter.setDefaults();
composeFilter.setValue(front, forKey: kCIInputImageKey);
composeFilter.setValue(back, forKey: kCIInputBackgroundImageKey);
let result: CIImage = composeFilter.outputImage;
我明白了:

如果我对gimp执行相同的操作,并将相同的两个图像放置在两个重叠层上,我会得到:

结果很接近,但不尽相同。谁能解释为什么gimp的结果不一样,以及如何得到相同的gimp结果

以下是我使用的原始图像:


我仍然无法回答“为什么”的问题,但使用它可以得到正确的结果,以及正确的alpha值。为了获得相同的结果,必须将比例设置为1.0