2013-11-04 13 views
6

Utilizzo CISourceOverCompositing per unire due immagini. Funziona bene con le immagini stesse dimensioni con questo codice:CIFilter: miscela di immagini di dimensioni diverse

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

ora ho diverse dimensioni di immagine, ad esempio:

imageForeground: 50px x 50px

imageBackground: 500px x 500px

Il codice precedente imposta imageForeground in posizione (0, 0) di outputImage.

Come posso mescolare queste immagini posizionando l'immagine Primo piano, ad esempio, in posizione (100, 100)?

Grazie in anticipo!

risposta

12

E 'abbastanza facile - basta trasformare l'immagine in ingresso in questo modo:

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

funziona perfettamente. Grazie! –

+0

Grazie fratello, salva la mia giornata .... – hmdeep

Problemi correlati