从两个UIImageView创建一个UIImage

Ami*_*tan 7 iphone cocoa-touch uikit

我在UIView上有两个UIImageView.每个UIImageView都有一个UIImage.现在我想从两个UIImageView创建一个UIImage.

请给出建议我该怎么做.

Nie*_*tle 11

如果你有一个带有三个UIImageViews的视图并创建相应的插座

IBOutlet UIImageView *imageView1;
IBOutlet UIImageView *imageView2;
IBOutlet UIImageView *imageView3;
Run Code Online (Sandbox Code Playgroud)

您可以执行以下操作,将imageViews 1和2组合到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];
Run Code Online (Sandbox Code Playgroud)

CGBlendMode允许您为图像选择以下任何合成操作:

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
};
Run Code Online (Sandbox Code Playgroud)