2011-01-01 6 views
0

С Нового года,Как обрабатывать загруженные изображения с CATiledLayer

Я пишу приложение, где пользователь ищет высокое разрешение изображения в Интернете, а затем загружает эти большие изображения. Мне нужно показать их в UIScrollView.

На сайте Apple dev я нашел сеанс 104 WWDC 2010 на UIScrollViews, в котором объясняется, как я могу использовать CATiledLayer с созданным вручную набором фрагментов на разных уровнях масштабирования.

Есть ли способ сгенерировать плитки программно из загруженного файла изображения с высоким разрешением?

Любые рекомендации?

Благодаря

ответ

1

Начиная с CGImage (UIImage имеет свойство только для чтения CGImage, если вы начинаете с UIImage), вы можете использовать CGImageCreateWithImageInRect для создания плитки от оригинала.

Чтобы создать плитки с разными уровнями масштабирования, вам, вероятно, понадобится нарисовать масштабированный CGImage в графическом контексте и использовать UIGraphicsGetImageFromCurrentImageContext, чтобы получить UIImage, содержащий нарисованное изображение, которое затем вы можете записать в некоторый кеш. См. "Creating and Drawing Images" в Руководстве по рисованию и печати для iOS.

1

В книге, посвященной Core Animation (link), есть пример, охватывающий именно это. Кроме того, книга стоит денег и за другие вещи :-)