Получение коллекции мозаичных изображений на iPad (Deep Zoom)

У меня есть набор мозаичных коллекций изображений, созданных с помощью композитора Microsoft Deep Zoom, и приложение Silverlight, которое в настоящее время использует их для отображения через MultiScaleImage - все работает очень хорошо - я просто хотел бы получить некоторый опыт программирования для iPad и иметь пару идей для некоторых приложений для iPad. Все мои идеи полагаются на то, что я смогу отображать эти мозаичные наборы изображений / манипулировать ими (на iPad).

Я просто взял iMac, чтобы облегчить это. Я не вижу для этого никаких библиотек Objective-C / Cocoa-touch, поэтому предполагаю, что мне придется откатить свою собственную. (Я видел компонент Seadragon Ajax, который довольно хорош, но здесь я имею дело с коллекциями, которые он не поддерживает. Я также хотел бы использовать его как собственное приложение, чтобы получить опыт.)

Единственным проектом с открытым исходным кодом, который я нашел для отображения / управления наборами мозаичных изображений, был Openzoom - компонент Flash. Я тоже не знаком с ActionScript (Python, Java, C # и c - единственные языки, которые я действительно использовал), но, кратко проверив код, у меня действительно не было никаких проблем с ним и, вероятно, можно использовать его для подсказок о том, как менять местами плитки, и т. д. Но, поскольку я новичок в Objective-C / Cocoa-touch, я был бы признателен за некоторые указатели в правильном направлении.

1) Есть ли какие-то другие проекты, которые мне не хватает, или OpenZoom - мой лучший вариант для справки?

2) Следует ли мне пытаться сделать это отображение в структуре UIKit или мне следует сделать это как отображение OpenGL?

3) Любые другие предложения / указатели, о которых я не думал спрашивать.


person Chris B    schedule 14.05.2010    source источник
comment
Я добавил в закладки проект @ github, чтобы следить за ним позже (выглядело как перенос OpenZoom на iOS), но похоже, что проект был вытянут - webcache.googleusercontent.com/ перечисляет кеш Google.   -  person Chris B    schedule 02.04.2011


Ответы (5)


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

Он полагается на CATiledLayer для обработки тайлинга. В результате получается чрезвычайно плавный и отзывчивый интерфейс даже с очень большими изображениями, и он не слишком сложен. (Немного сложно, но неплохо).

Итак, чтобы ответить прямо на ваш вопрос:

  1. Код PhotoScroller

  2. QuartzCore Framework (входит в состав SDK)

  3. Есть отличное бесплатное маленькое приложение для Mac для нарезки изображений на плитки, которое я часто использую: "Tilen"
person Dancreek    schedule 31.03.2011

В исходных примерах WWDC 2010 под iOS есть проект ScrollView Suite под названием Tiling. Это соответствует сеансу 104 WWDC10. Это, вероятно, лучший пример мозаичного изображения.

person diatrevolo    schedule 06.04.2011
comment
Тайлинг - отличный пример, но в нем есть неэффективный код. PhotoScroller аналогичен, но предлагает гораздо более чистый и плавный интерфейс. - person Dancreek; 07.04.2011

Вы можете посмотреть, как это делает библиотека RouteMe: динамическая загрузка тайлов с более высоким разрешением, панорамирование и т. Д. https://github.com/route-me/route-me

person reflog    schedule 31.03.2011


Взгляните на CATiled Layer. См. Мой ответ на аналогичный вопрос здесь: Рисование в CATiledLayer с помощью CoreGraphics CGContextDrawImage < / а>

person Jessedc    schedule 07.04.2011