使用两个具有两个图像的UIImageView保存图像 - ios

时间:2013-03-20 07:08:17

标签: iphone ios objective-c xcode uiimageview

在我的应用程序中,我有两个UIImageViews,它们叠加在另一个上面。即UIImageView-2放在UIImageView-1上。 UIImageView-2中的图像是透明的,所以现在我有了另一个图像的图像。现在我需要将这两个保存为单个图像。在ios中有可能吗?请指教..

示例视图如下:红色标记是网球图像视图中的图像。

enter image description here

3 个答案:

答案 0 :(得分:4)

希望以下方法可以帮助您。

-(CGImageRef )mergedImageFromImageOne:(UIImage *)imageOne andImageTwo:(UIImage *)imageTwo
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    CGSize imageSize = imageOne.size;

    UIGraphicsBeginImageContext(sizeVideo);

    [imageOne drawInRect:CGRectMake(0,0,imageSize.width,imageSize.height)];

    [imageTwo drawInRect:CGRectMake(0,0,imageSize.width,imageSize.height) alpha:1];

    CGImageRef imageRefNew =  CGImageCreateWithImageInRect(UIGraphicsGetImageFromCurrentImageContext().CGImage, CGRectMake(0,0,imageOne.width,imageOne.height));

    UIGraphicsEndImageContext();

    [pool release];

    return imageRefNew;
}

答案 1 :(得分:3)

我已经拍摄了一张徽标图片,该图片在主图片上设置为应用参考。

所以你可以参考这个,尝试使用你的图像。

设定宽度(w)&高度(h)根据你的形象。

试试这个::

UIImage *img_Logo = [UIImage imageNamed:@"Img_Logo.png"];

CGSize newSize = CGSizeMake(w, h);
UIGraphicsBeginImageContext(newSize);

// Use existing opacity as is
[main_image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

// Apply supplied opacity
[img_Logo drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:0.8];

main_image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

imgView.image = main_image;

希望,这会帮助你。

感谢。

答案 2 :(得分:0)

为什么你不仅截取该部分的截图?