2013-11-04 140 views
6

我使用CISourceOverCompositing融为一体两个图像。它的工作原理确定与相同尺寸的图像与此代码:CIFilter:混合不同大小的图像

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

现在我有不同的图像大小,例如:

imageForeground:50像素X 50像素

imageBackground:500像素X 500像素

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

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

在此先感谢!

回答

12

这是很容易 - 只需将输入图像像这样:

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

完美的作品。谢谢! –

+0

感谢兄弟,拯救我的一天.... – hmdeep

相关问题