If you have a view with three UIImageViews and create the corresponding outputs
IBOutlet UIImageView *imageView1; IBOutlet UIImageView *imageView2; IBOutlet UIImageView *imageView3;
You can do something like the following to combine imageViews 1 and 2 with imageView 3
UIGraphicsBeginImageContext(imageView1.image.size); CGRect rect = CGRectMake(0, 0, imageView1.image.size.width, imageView1.image.size.height); [imageView1.image drawInRect:rect]; [imageView2.image drawInRect:rect blendMode:kCGBlendModeScreen alpha:0.5]; UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [imageView3 setImage:resultingImage];
CGBlendMode allows you to select any of the following compositional operations for your images:
enum CGBlendMode { kCGBlendModeNormal, kCGBlendModeMultiply, kCGBlendModeScreen, kCGBlendModeOverlay, kCGBlendModeDarken, kCGBlendModeLighten, kCGBlendModeColorDodge, kCGBlendModeColorBurn, kCGBlendModeSoftLight, kCGBlendModeHardLight, kCGBlendModeDifference, kCGBlendModeExclusion, kCGBlendModeHue, kCGBlendModeSaturation, kCGBlendModeColor, kCGBlendModeLuminosity, kCGBlendModeClear, kCGBlendModeCopy, kCGBlendModeSourceIn, kCGBlendModeSourceOut, kCGBlendModeSourceAtop, kCGBlendModeDestinationOver, kCGBlendModeDestinationIn, kCGBlendModeDestinationOut, kCGBlendModeDestinationAtop, kCGBlendModeXOR, kCGBlendModePlusDarker, kCGBlendModePlusLighter };
Niels castle
source share