Правильный выбор инструментов для нового приложения 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. Если вы хотите, чтобы ваше приложение запускалось в браузере, вероятно, вам придется придерживаться следующего подхода.
- Пользователь выбирает изображение.
- Изображение загружается на сервер
- Сервер создает глубокий зум информации
- Используйте подход на основе PHP, чтобы у вас была страница canvaszoom для изображения.
Аннотации, вероятно, усложнят ситуацию, я сделал это с помощью JavaScript, когда пытался это сделать. Хитрость заключается в том, чтобы отработать, когда изображение было увеличено (при увеличении холста есть предустановленные уровни масштабирования) и перерисовать области аннотации. Я нашел этот подход нетривиальным, но не слишком сложным.
Canvas Zoom имеет лицензию MIT, поэтому вы можете делать с ней все что угодно.
Удачи с вашим проектом.