Реализация клиентского редактора изображений - каков лучший способ?

Мы хотим веб-приложение, которое позволяет пользователю редактировать изображения на браузере, и мы пытаемся решить который технология использовать. Мы хотим поддерживать простую настройку изображения, такую как высококачественное изменение размеров, обрезка, слияние изображения, и преобразования цвета, а также добавление текстовых элементов с различными шрифтами и цветами.

Текущие опции:

  1. Flash: никакое беспокойство о перекрестной совместимости браузера; мог использовать ту же библиотеку изображений на клиенте и сервере; никакая поддержка iPhone/iPad.
  2. Java (скомпилированный в JavaScript с GWT): должен найти хорошую библиотеку изображений в чистом Java, таким образом, он может быть скомпилирован в JS.
  3. Простой JavaScript + HTML5: может быть путаница из-за нескольких браузеров; возможно, должен написать код редактирования изображение с нуля.

Вот то, что является самым важным для нас / критерии выбора:

  • Непротиворечивость изображения: изображение, что клиентские редактирования на браузере должны быть точно тем же как тем, которое мы будем в конечном счете использовать на бэкенде. Мы можем достигнуть этого при (a) наличии той же библиотеки оба на клиенте и сервере к образам процесса, (b) наличии клиента генерируют изображение и загружают его на сервер, или (c) пользуются двумя различными библиотеками обработки изображений на клиенте/сервере и надежде на лучшее с точки зрения непротиворечивости. Опция (a) кажется лучшей, но только было бы возможно, если мы используем Flash или Java/GWT. Нам не нравится опция (b), потому что изображения являются большими; мы сохранили бы последовательность операций для выполнения на необработанном изображении, чем сохраняющий несколько преобразованных изображений. И мы действительно не знаем, безопасна ли опция (c) или нет.
  • Масштабируемость: Мы предпочитаем, чтобы клиент сделал как можно больше работы для уменьшения загрузки сервера.
  • Качество изображения должно быть поддержано на высоком уровне
  • Межплатформенный: мы хотели бы поддерживать как можно больше платформ, не переписывая все (большое отрицание для Flash из-за iPhone/iPad).

Какой путь Вы рекомендуете? Действительно ли там кто-либо альтернативен, мы отсутствуем?

Спасибо за любую справку!

7
задан rod 13 August 2010 в 03:35
поделиться

3 ответа

Определенно Флэш. Если вы используете JavaScript и HTML5, вы в основном говорите всем пользователям IE: «Да пошли вы сами». Механизм рендеринга Flash справляется с этими задачами быстрее, чем браузер, и скорость будет одинаковой для всех браузеров. Кроме того, Flash имеет очень мощные встроенные библиотеки для работы с изображениями, тогда как в JavaScript вам придется писать их самостоятельно.

Изменить: Поскольку я только что получил отрицательный голос за ответ трехлетней давности, я обязан сказать, что это больше не соответствует действительности, и вам следует использовать веб-стандарты, такие как , потому что в наши дни они довольно широко распространены. Не используйте Flash.

5
ответ дан 7 December 2019 в 03:09
поделиться

Мы выбрали 3, потому что апплеты Java в значительной степени мертвы, и нам не нравится Вспышка. Будем надеяться, что за HTML5 будущее.
GWT звучит как интересный вариант, но мы не могли его использовать, потому что серверная часть - это .NET. Написание кода для редактирования изображений - это весело :)

2
ответ дан 7 December 2019 в 03:09
поделиться

Я бы выбрал JS + HTML5 \ canvas. Если вы только начинаете писать это приложение и у вас нет зависимости от технологий, это лучший выбор. Браузеры стремительно улучшаются по сравнению с плагином Flash или Java (40-60% настольных компьютеров это есть?). Единственный жуткий монстр, который держит революцию, - это IE, но я думаю, что IE9 приведет нас в новую эру, когда мы сможем создавать действительно крутые кросс-браузерные приложения в Интернете, используя новые стандарты :) Итак, вы можете начать прямо сейчас, и через 2-3 месяца IE9 будет поставляться с поддержкой Canvas и всем этим навороченным. Все остальные браузеры готовы прямо сейчас, но они будут развиваться и улучшать скорость движка JS. Надеюсь :)

1
ответ дан 7 December 2019 в 03:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: