Как создать изображение из UIView / UIScrollView

У меня есть изображение в UIScrollView, который может прокручиваться и масштабироваться.

То, когда пользователь нажимает кнопку, я хочу, чтобы код создал изображение из любой части UIScrollView, в области, которую я указываю с CGRect.

Я видел код для обрезки UIImages, но я не могу адаптировать его, чтобы сделать то же для представления, потому что он использует CGContextDrawImage.

Какие-либо мысли?

С наилучшими пожеланиями, Andre

9
задан Andre 23 March 2010 в 15:33
поделиться

1 ответ

Мне удалось это получить.

Вот мое решение, основанное на нескольких других решениях из Интернета:

- (UIImage *)imageByCropping:(UIScrollView *)imageToCrop toRect:(CGRect)rect
{
    CGSize pageSize = rect.size;
    UIGraphicsBeginImageContext(pageSize);

    CGContextRef resizedContext = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(resizedContext, -imageToCrop.contentOffset.x, -imageToCrop.contentOffset.y);
    [imageToCrop.layer renderInContext:resizedContext];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return image;
}

которое вы вызываете, используя:

CGRect clippedRect = CGRectMake(0, 0, 320, 300);
picture.image = [self imageByCropping:myScrollView toRect:clippedRect];
28
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: