我正在使用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]