CIFilter:混合不同大小的图像

Fer*_* T. 9 blend core-image ios cifilter

我正在使用CISourceOverCompositing来混合两个图像.使用此代码可以使用相同大小的图像:

CIFIlter *filter1 = [CIFilter filterWithName: @"CISourceOverCompositing"];
[filter1 setDefaults];
[filter1 setValue: imageForeground forKey: @"inputImage"];
[filter1 setValue: imageBackground forKey: @"inputBackgroundImage"];
CIImage *outputImage = [filter1 outputImage];
Run Code Online (Sandbox Code Playgroud)

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

imageForeground:50px x 50px

imageBackground:500px x 500px

前面的代码将imageForeground设置为outputImage的(0,0)位置.

如何混合这些图像定位imageForeground,例如,在(100,100)位置?

提前致谢!

小智 14

这很简单 - 只需转换输入图像,如下所示:

[filter1 setValue:[imageForeground imageByApplyingTransform:CGAffineTransformMakeTranslation(100, 100)] forKey:kCIInputImageKey]
Run Code Online (Sandbox Code Playgroud)