есть много тем о том, как сохранить представление в качестве изображения. И все они дают один и тот же ответ:Сохранить как изображение в исходном размере
CGRect rect = [myView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,[[UIScreen mainScreen] scale]);
CGContextRef context = UIGraphicsGetCurrentContext();
[myView.layer renderInContext:context];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
моя проблема заключается в том, что у меня есть мнение, что содержит несколько соединенных imageViews, которые содержат изображения. Я хочу сохранить этот вид «держателя» в размере, соответствующем размеру изображений, находящихся внутри него. Поэтому, если у меня есть 2 изображения 400x400 бок о бок, я хотел бы сохранить изображение 400x800, независимо от того, что они отображаются, скажем, 30x60.
Плюс вышеуказанный код только фиксирует то, что находится на экране, и оставляет остальное. Например, если бы я хотел получить весь профиль прокрутки с его размером содержимого, это невозможно.
любые идеи?
Спасибо. Но ваш опубликованный поток не решает проблему. UIGraphicsGetCurrentContext() фиксирует только то, что находится на экране. Единственный способ использовать его - подогнать вид на экран, но тогда разрешение ухудшается. Мне нужна альтернатива. –
Этот фрагмент захватывает все содержимое прокрутки и сохраняет его в UIImage. Кажется, что вы захватываете только границы своего представления, а не весь контент в scrollview. – Mat
Я прекрасно понимаю это. Вот почему я задаю вышеупомянутый вопрос. Если я задаю размер прямоугольника, скажем, scrollview.contentSize, он действительно сделает изображение такого размера, но все вне границ будет пустое. Я не могу подчеркнуть, что я ищу альтернативу, потому что UIGraphicsGetCurrentContext() получает только то, что находится на экране. –