1

如何制作具有图像视图的几个 uiview 的图像,具有比例和所有内容,我已经找到了一些代码来将一个图像放到另一个图像:

- (UIImage *)addImage:(UIImage *)imageView toImage:(UIImage *)Birdie {
    UIGraphicsBeginImageContext(imageView.size);

    // Draw image1
    [imageView drawInRect:CGRectMake(0, 0, imageView.size.width, imageView.size.height)];

    // Draw image2
    [Birdie drawInRect:CGRectMake(0, 0, Birdie.size.width, Birdie.size.height)];

    UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return resultingImage;
}

此代码在点 0,0 处用两张图像制作一张图像,我需要将几张图像与实际缩放合并为一张图像,我有一张背景图像和几个可以放大和缩小的对象,我想制作最终图像,将所有对象放在它们的位置并使用它们的缩放,例如 Photoshop,您有多个对象,您可以将它们合并为一个。

4

1 回答 1

1

你可以这样做:

只需获取所有子视图都已合成的顶级视图,然后:

+ (UIImage *) imageWithView:(UIView *)view
{
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);

    if ([view respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)])
    {
        //This only works on iOS7
        [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
    } 
    else 
    {
        //For iOS before version 7, use the following instead
        [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    }

    UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return img;
}
于 2013-11-04T12:40:48.857 回答