10

我正在使用 CISourceOverCompositing 来混合两个图像。使用以下代码可以处理相同尺寸的图像:

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

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

图像前景:50 像素 x 50 像素

图片背景:500px x 500px

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

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

提前致谢!

4

1 回答 1

17

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

[filter1 setValue:[imageForeground imageByApplyingTransform:CGAffineTransformMakeTranslation(100, 100)] forKey:kCIInputImageKey]
于 2013-11-04T22:36:58.083 回答