我正在使用CISourceOverCompositing来混合两个图像。使用此代码可以正常使用相同尺寸的图像:
CIFIlter *filter1 = [CIFilter filterWithName: @"CISourceOverCompositing"];
[filter1 setDefaults];
[filter1 setValue: imageForeground forKey: @"inputImage"];
[filter1 setValue: imageBackground forKey: @"inputBackgroundImage"];
CIImage *outputImage = [filter1 outputImage];
现在我有不同的图像尺寸,例如:
imageForeground:50px x 50px
imageBackground:500px x 500px
前面的代码将imageForeground设置为outputImage的(0,0)位置。
如何混合这些图像定位imageForeground,例如,在(100,100)位置?
提前致谢!
答案 0 :(得分:14)
这很简单 - 只需转换输入图像:
[filter1 setValue:[imageForeground imageByApplyingTransform:CGAffineTransformMakeTranslation(100, 100)] forKey:kCIInputImageKey]