Рисование поверх изображения в Javascript - PullRequest
5 голосов
/ 20 ноября 2008

Я хочу, чтобы пользователь рисовал изображение в браузере. Другими словами, мне нужны и растровые изображения и возможности рисования, как векторные, так и растровые.

Canvas выглядит хорошо, но IE не поддерживается, и хотя есть ExCanvas, мне интересно, достаточно ли стабилен ExCanvas для последовательного использования в IE6 - 8.

Или, что лучше всего, есть библиотека изображений / рисунков с открытым исходным кодом, которая поддерживает все это из коробки? Я нашел около двух десятков веб-редакторов изображений или инструментов для рисования, но ни один из них не поддерживает требования. (И я бы хотел избежать Flash / Flex / Silverlight / JavaFX.)

Ответы [ 7 ]

6 голосов
/ 20 ноября 2008

Взгляните на RaphaelJS ... это кросс-браузерная реализация функций рисования с использованием Canvas, VML или SVG, где это возможно. Я не уверен, позволяет ли он пользователям рисовать для себя из коробки, но это может стоить посмотреть.

3 голосов
/ 20 ноября 2008

проверить додзё х

http://dojotoolkit.org/projects/dojox

3 голосов
/ 20 ноября 2008

Даже если вы сказали, что хотели бы избежать этого, я бы предложил Flash. Вы можете легко использовать Flash 6 или 7, и они имеют> 90% коэффициент использования. Я был бы удивлен, если бы вы могли получить такой уровень поддержки с JavaScript. Флэш-версия действительно пишется один раз в любом месте, что сокращает время разработки.

2 голосов
/ 24 ноября 2008

Используйте dojox.gfx . Это кросс-браузерный (SVG / VML / Canvas / Silverlight) и, похоже, он отвечает всем требованиям. Вы можете скачать его с основного сайта Dojo . Вы можете попробовать его тесты и демонстрации . Предупреждение: последние две ссылки будут медленными, поскольку код был предназначен для устранения неполадок, а не для скорости (не минимизирован, не объединен, не сжат, обслуживается с файлового сервера).

1 голос
/ 20 ноября 2008

Это очень умная и очень обширная библиотека, с которой я столкнулся некоторое время назад: JS-График

1 голос
/ 20 ноября 2008

Вы можете сделать это с помощью VML

http://en.wikipedia.org/wiki/Vector_Markup_Language

0 голосов
/ 24 ноября 2008

Я бы немного добавил к ответу Киерона; На сайте Water Zorn есть очень качественный пакет векторной графики. Я использовал его в большом приложении, и он прекрасно интегрировался с .NET и рукописным JavaScript. Я также использовал его API перетаскивания для плавного перетаскивания html-элементов.

...