我正在使用CISourceOverCompositing来混合两个图像。可以使用以下代码在相同大小的图像上正常工作:

CIFIlter *filter1 = [CIFilter filterWithName: @"CISourceOverCompositing"];
[filter1 setDefaults];
[filter1 setValue: imageForeground forKey: @"inputImage"];
[filter1 setValue: imageBackground forKey: @"inputBackgroundImage"];
CIImage *outputImage = [filter1 outputImage];

现在,我有不同的图像尺寸,例如:

imageForeground:50像素x 50像素

imageBackground:500像素x 500像素

前面的代码将imageForeground设置在outputImage的(0,0)位置。

如何将定位imageForeground的这些图像融合在一起,例如在(100,100)位置?

提前致谢!

最佳答案

这非常简单-只需像这样转换输入图像即可:

[filter1 setValue:[imageForeground imageByApplyingTransform:CGAffineTransformMakeTranslation(100, 100)] forKey:kCIInputImageKey]

08-26 03:24