2010-01-05 4 views
7

У меня есть два UIImageView на UIView. У каждого UIImageView есть один UIImage. Теперь я хочу создать один UIImage из двух UIImageView.создать один UIImage из двух UIImageView

Пожалуйста, дайте предложение, как я могу это сделать.

+0

Я не уверен, что вы на самом деле пытаетесь реализовать. Является ли полученное изображение наложенным на одно из двух изображений или какое-то другое. – Nithin

ответ

11

Если ваш имеют вид с тремя UIImageViews и создать соответствующие выходы

IBOutlet UIImageView *imageView1; 
IBOutlet UIImageView *imageView2; 
IBOutlet UIImageView *imageView3; 

Вы можете сделать что-то вроде следующего, чтобы объединить 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]; 

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 
}; 
+0

Замок Niels - мне нужно выполнить ту же операцию. Мое основное изображение - статическое, но мое второе изображение можно перетаскивать. Таким образом, выше кода создает мое второе изображение так же, как и основные рамки просмотра изображений. Как я могу объединить эти два изображения в один, не делая его так же, как mainimageview? Благодарю. – iOSAppDev

Смежные вопросы