Правильный выбор инструментов для нового приложения Deep Zoom

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

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

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

1 ответ

Решение

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

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

ссылка

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

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

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

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

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

Другие вопросы по тегам