Image из UIView

Есть ли возможность создать изображение из UIView?

Спасибо, Андреас

16
задан Andreas Prang 16 August 2010 в 16:53
поделиться

2 ответа

#import "QuartzCore/QuartzCore.h" после того, как вы добавили фреймворк в свой проект. Затем сделайте:

UIGraphicsBeginImageContext(yourView.frame.size);
[[yourView layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// The result is *screenshot
47
ответ дан 30 November 2019 в 15:47
поделиться

Я использовал ответ, чтобы улучшить его еще больше. К сожалению, исходный код создавал только зеркальное изображение.

Вот рабочий код:

- (UIImage *) imageFromView:(UIView *)view {

    UIGraphicsBeginImageContext(view.frame.size);
    CGContextRef currentContext = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(currentContext, 0, view.size.height);
    // passing negative values to flip the image
    CGContextScaleCTM(currentContext, 1.0, -1.0);
    [[appDelegate.scatterPlotView layer] renderInContext:currentContext];
    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return screenshot;
}
1
ответ дан 30 November 2019 в 15:47
поделиться