Правильный выбор инструментов для нового приложения Deep Zoom - PullRequest
0 голосов
/ 10 июля 2011

Я хочу создать новое приложение.По сути, это будет приложение Deep Zoom, на котором пользователи могут рисовать аннотации (которое будет сохранено в БД, чтобы другие пользователи могли видеть эти аннотации). Сначала оно просто запускается в браузере.Тем не менее, приложение было бы полезно, если бы оно могло использоваться энтузиастами на местах, поэтому возможность работы на смартфонах или других портативных устройствах была бы чрезвычайно полезной.В этих местах сигнал 3G / 4G, вероятно, практически отсутствует, поэтому было бы неплохо иметь возможность загружать все изображения и информацию для «области».

Я не могу решить, какую технологиюиспользовать.Приложения Silverlight Deep Zoom действительно хорошо выглядят в браузерах, но я слышал, что это не очень широко поддерживаемая технология, которую MS все равно может отключить, и единственными смартфонами, которые могли бы поддерживать Silverlight, были бы телефоны Windows - очень небольшая доляРынок смартфонов.Flash, вероятно, никогда не будет работать на iPhone / Apple.Так я должен использовать HTML5?В настоящий момент HTML5 кажется мне немного смущающим, возможно ли даже создать приложение HTML5 Deep Zoom, которое пользователи смогут комментировать?

Любые мысли и советы были бы очень полезны, спасибо за чтение.

1 Ответ

3 голосов
/ 15 июля 2011

Я написал приложение Deep Zoom, которое поддерживало аннотацию для подтверждения концепции пару лет назад.

Я использовал Django для этого, но я бы не рекомендовал этот подход. Если бы я делал ту же работу снова, я бы использовал CanvasZoom, который основан на HTML5. Canvas Zoom может быть встроен в веб-страницу с помощью JavaScript. Вот как это сделать здесь:

ссылка

К сожалению, вам сначала нужно запустить Microsoft DeepZoom composer на исходном изображении, чтобы также генерировать данные глубокого масштабирования, которые будет использовать CanvasZoom. Если вы хотите, чтобы ваше приложение запускалось в браузере, вероятно, вам придется использовать следующий подход.

  1. Пользователь выбирает изображение.
  2. Изображение загружается на сервер
  3. Сервер создает информацию о глубоком увеличении
  4. Используйте подход, основанный на PHP, чтобы у вас была страница canvaszoom для изображения.

Аннотации, вероятно, усложнят ситуацию, я делал это с помощью javascript, когда пытался это сделать. Хитрость заключается в том, чтобы отработать, когда изображение было увеличено (при увеличении холста есть предустановленные уровни масштабирования) и перерисовать области аннотации. Я нашел этот подход нетривиальным, но не слишком сложным.

Canvas Zoom имеет лицензию MIT, так что вы можете делать с ней все что угодно.

Удачи в вашем проекте.

...