CIFilter: 混合不同大小的图像

10

我正在使用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设置在输出图像的(0,0)位置。

我该如何混合这些图像并将imageForeground定位在(100,100)位置?

先行致谢!

1个回答

17

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

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

完美运行。谢谢! - Ferran T.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接