2013-11-04 21 views
6

私はCISourceOverCompositingを使用して2つの画像をブレンドしています。CIFilter:異なるサイズの画像を合成する

imageForeground:例えば、

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

は今、私は別の画像サイズを持っている:それは、このコードで同じサイズの画像でOK作品は50px Xは50px

imageBackground:500pxなどのx 500pxなど

前のコードはimageForegroundをoutputImageの(0、0)の位置に設定しています。

imageForegroundを配置するこれらの画像を、(100,100)位置などでどのようにブレンドできますか?

ありがとうございます!

答えて

12

それは非常に簡単です - ちょうどそうのように入力画像を変換:

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

は完璧に動作します。ありがとうございました! –

+0

ありがとう、私の一日を節約.... – hmdeep

関連する問題