Как известно Adobe Flash Player, скажем так, подвергается гонениям со стороны браузеров всех мастей.
Один клиент имеет на сайте некоторое количество флеша как в виде простых анимашек, так и одну с панорама-вьювером с некоторым функционалом.
Если простые анимашки перевести на рельсы HTML5 достаточно просто, то с панорамой немного посложнее.
Выбор вьювера для панорамы пал на Pannellum.
Основные преимущества:
- Опенсёрсный;
- Шустрый;
- Имеет кроме просмотра доп. возможности по размещению меток (метки отображаются в DOM, а не на canvas);
- Имеет богатый набор опций для конфигурирования.
Проблема:
Pannellum отображает кубические панорамы, а у клиента сферическая. Встала проблема конвертации панорамы из сферической в кубическую.
В ходе поиска попадались как платные так и бесплатные утилиты. Но одни требовали "много денег", другие установку доп. софта. И вот чудом-юдом попалась одна подходящая опенсёрсная, без регистрации и смс установки стороннего софта и что тоже не маловажно кроссплатформенная.
Решение:
- Проверяем есть ли на компе java. Если нет, то качаем/устанавливаем (достаточно JRE).
-
Качаем/распаковываем архив с утилитой от сюда или от сюда.
Из всего архива нужен по сути только файл EquirectangularToCubic.jar -
Запускаем утилиту:
java -jar EquirectangularToCubic.jar path_to_image.jpg
Для примера можно взять эту сферическую панораму.
На выходе получаем папку:cubic_path_to_image |__examplepano_b.jpg |__examplepano_d.jpg |__examplepano_f.jpg |__examplepano_l.jpg |__examplepano_r.jpg |__examplepano_u.jpg
Примечания:
- Дополнительные ключи для запуска утилиты можно подсмотреть в файле EquirectangularToCubic.java в методе parseCommandLine
-
Важно! Для корректного отображения панорамы в Pannellum-е необходимо сделать переименование файлов:
*_b.jpg ↔ *_f.jpg
*_u.jpg ↔ *_r.jpg