2010-01-05 9 views
7

J'ai deux UIImageView sur l'UIView. Chaque UIImageView possède un UIImage. Maintenant, je veux créer un UIImage à partir de deux UIImageView.créer un UIImage à partir de deux UIImageView

S'il vous plaît me donner la suggestion comment puis-je faire cela.

+0

Je ne suis pas sûr de ce que vous essayez réellement de mettre en œuvre. Est-ce que l'image résultante est superposée l'une des 2 images ou une autre .. – Nithin

Répondre

11

Si votre ont une vue avec trois UIImageViews et de créer des points de vente correspondants

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

Vous pouvez faire quelque chose comme ce qui suit pour combiner imageViews 1 et 2 dans 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 vous permet de choisissez l'une des opérations de composition suivantes pour vos 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 
}; 
+0

Niels Castle- J'ai besoin d'effectuer la même opération. Mon imageview principale est statique mais ma deuxième imageview est déplaçable. Donc, au-dessus du code crée ma deuxième image vue même que les limites de l'image principale. Comment est-ce que je peux fusionner ces deux images en une sans faire la même chose que mainimageview? Merci. – iOSAppDev

Questions connexes