合并在设备iOS中不起作用的图像

时间:2011-11-28 19:59:53

标签: ios uiimageview

我正在尝试将两张图片合二为一。这是我正在使用的代码:

 UIImage* image1 = [UIImage imageNamed:@"1.tif"];  
    UIImage* image2    = [UIImage imageNamed:@"sign.tif"];  
    UIGraphicsBeginImageContext(image1.size);      
    [image1 drawInRect:CGRectMake(0, 0, image1.size.width, image1.size.height)];  
    [image2 drawInRect:CGRectMake(0, 0, image2.size.width, image2.size.height)];  
    UIImage *combinedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    imageView1.image = combinedImage;

它在模拟器中完美运行但在设备上不起作用。我得到一个白色的屏幕。任何人都可以帮助我。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

尝试使用此功能:

- (UIImage * ) mergeImage: (UIImage *) imageA
            withImage:  (UIImage *) imageB
             strength: (float) strength {

UIGraphicsBeginImageContextWithOptions(CGSizeMake([imageA size].width,[imageA size].height), NO, 0.0); 

[imageA drawAtPoint: CGPointMake(0,0)];

[imageB drawAtPoint: CGPointMake(0,0) 
          blendMode: kCGBlendModeNormal // you can play with this
              alpha: strength]; // 0 - 1

UIImage *mergedImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext();
return mergedImage; 
 }

并称之为:

UIImage* image1 = [UIImage imageNamed:@"1.tif"];  
UIImage* image2    = [UIImage imageNamed:@"sign.tif"]; 

UIImage *mergedImage =[self mergeImage:image1 withImage:image2 strength:1];