I'm using CISourceOverCompositing to blend two images. It works ok with same size images with this code:
CIFIlter *filter1 = [CIFilter filterWithName: @"CISourceOverCompositing"];
[filter1 setDefaults];
[filter1 setValue: imageForeground forKey: @"inputImage"];
[filter1 setValue: imageBackground forKey: @"inputBackgroundImage"];
CIImage *outputImage = [filter1 outputImage];
Now I have different image sizes, for example:
imageForeground: 50px x 50px
imageBackground: 500px x 500px
The previous code set the imageForeground at (0, 0) position of the outputImage.
How can I blend these images positioning the imageForeground, for example, at (100, 100) position?
Thanks in advance!
It's pretty easy - just transform the input image like so:
[filter1 setValue:[imageForeground imageByApplyingTransform:CGAffineTransformMakeTranslation(100, 100)] forKey:kCIInputImageKey]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With