Как создать UIImage из текущего графического контекста?

Можно изменить инструмент, используемый мерзавцем mergetool путем передачи git mergetool -t=<tool> или --tool=<tool>. Изменить значение по умолчанию (от vimdiff) использование git config merge.tool <tool>.

21
задан Sahil Kapoor 28 July 2017 в 16:14
поделиться

2 ответа

Сначала необходимо настроить контекст графики:

UIGraphicsBeginImageContext(myView.bounds.size);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
43
ответ дан 29 November 2019 в 06:54
поделиться

UIImage * image = UIGraphicsGetImageFromCurrentImageContext ();

Если вам нужно сохранить изображение вокруг, обязательно сохраните его!

РЕДАКТИРОВАТЬ: Если вы хотите сохранить вывод drawRect в изображение, просто создайте контекст растрового изображения, используя UIGraphicsBeginImageContext , и вызовите функцию drawRect с новым контекстом. Это проще сделать, чем сохранить CGContextRef, с которым вы работаете, в drawRect, потому что этот контекст может не иметь связанной с ним растровой информации.

UIGraphicsBeginImageContext(view.bounds.size);
[view drawRect: [myView bounds]];
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Вы также можете использовать подход, упомянутый Кельвином. Если вы хотите создать изображение из более сложного представления, такого как UIWebView, его метод будет быстрее. Рисование слоя представления не требует обновления слоя, это просто требует перемещения данных изображения из одного буфера в другой!

7
ответ дан 29 November 2019 в 06:54
поделиться
Другие вопросы по тегам:

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