2010-01-05 11 views
7

Tengo dos UIImageView en UIView. Cada UIImageView tiene un UIImage. Ahora quiero crear un UIImage de dos UIImageView.crea un UIImage de dos UIImageView

Por favor, dé la sugerencia de cómo puedo hacer esto.

+0

No estoy seguro de lo que realmente está tratando de implementar. Es la imagen resultante se superpone a una de las 2 imágenes o alguna otra. – Nithin

Respuesta

11

Si dispone de un punto de vista con tres UIImageViews y crear puntos de venta correspondientes

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

Usted puede hacer algo como lo siguiente para combinar imageViews 1 y 2 en 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 le permite elija entre cualquiera de las siguientes operaciones de composición para sus imágenes:

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 Castle- Necesito realizar la misma operación. Mi vista de la imagen principal es estática, pero mi segunda vista de la imagen es arrastrable. Por lo tanto, el código anterior crea mi segunda imagen vista igual que los límites principales de la vista de la imagen. ¿Cómo puedo fusionar estas dos imágenes en una sola sin hacer que su límite sea el mismo que en la vista principal? Gracias. – iOSAppDev

Cuestiones relacionadas