Ios 涉及alpha时,顺时针合成的意外结果
当尝试使用CoreImage在iOS上使用60%alpha通道的图像放置在另一个100%alpha通道的图像上时,我得到了一个出乎意料的结果。如果我拍摄这两张图像并将场景_2_480p放置在场景_480p上,如下所示: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
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