我正在使用 CISourceOverCompositing 混合两个图像。使用此代码可以正常处理相同大小的图像:
CIFIlter *filter1 = [CIFilter filterWithName: @"CISourceOverCompositing"];
[filter1 setDefaults];
[filter1 setValue: imageForeground forKey: @"inputImage"];
[filter1 setValue: imageBackground forKey: @"inputBackgroundImage"];
CIImage *outputImage = [filter1 outputImage];
现在我有不同的图像尺寸,例如:
前景图像:50px x 50px
图像背景:500 像素 x 500 像素
前面的代码将 imageForeground 设置在 outputImage 的 (0, 0) 位置。
如何混合这些定位 imageForeground 的图像,例如,在 (100, 100) 位置?
提前致谢!
最佳答案
这很简单 - 只需像这样转换输入图像:
[filter1 setValue:[imageForeground imageByApplyingTransform:CGAffineTransformMakeTranslation(100, 100)] forKey:kCIInputImageKey]
关于ios - CIFilter:混合不同大小的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19777252/