CIFilter:混合不同大小的图像

时间:2013-11-04 21:14:43

标签: ios blend core-image cifilter

我正在使用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)位置?

提前致谢!

1 个答案:

答案 0 :(得分:14)

这很简单 - 只需转换输入图像:

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