Есть ли предложения для библиотеки интерактивного рисования JavaScript? Просто нужно рисовать линии, многоугольники, тексты разного цвета. Совместимость с IE / Firefox / Opera / Safari.
Библиотека рисования Javascript?
Ответы (10)
Raphael отлично подходит для этого и работает во всех браузерах, поскольку использует VML (для MSIE) и SVG. (для всего остального).
Processing.js Джона Ресига для этого отлично подходит.
Вы можете использовать объект холста непосредственно для рисования в 2D. IE требует библиотеки excanvas.
http://developer.mozilla.org/En/Drawing_Graphics_with_Canvas
Рисование текста с помощью тега canvas - большая проблема. Вы можете использовать обычные div, абсолютно расположенные в нужных местах, или найти / написать механизм компоновки шрифтов (пример) или дождитесь внедрения нового стандарта, позволяющего рисовать текст. SVG справляется с этим намного лучше.
В IE у вас есть ExplorerCanvas для имитации API холста с собственной разметкой VML IE. Тем не менее, собственный VML может обрабатывать текст по пути и такие вещи, как SVG. Я думаю, что теоретически, если вам нужна сложная обработка текста, вам понадобятся SVG и VML, такие как библиотека Рафаэля, о которой упоминал Дэн.
Вы также можете ненадолго подумать о Flash перед тем, как начать.
Как упоминалось выше, вам следует идти по холсту. IE не поддерживает его изначально, поэтому вам необходимо загрузить ExCanvas, чтобы обеспечить кроссбраузерность. Я бы порекомендовал посмотреть на Ajaxian для некоторых проектов, в которых используется тег холста.
Ознакомьтесь с подключаемым модулем jQuery Drawing, а также посетите Mozilla ссылка на Canvas и руководство.
Также mxGraph. Это не использует excanvas для IE. Excanvas работает намного медленнее, чем использование VML, в частности, повторное использование тех же узлов VML, а не удаление, добавление узлов DOM для перерисовки. Это часто упускается из виду, но пренебрежение производительностью IE просто ужасно.
В зависимости от того, насколько кроссбраузерным вам нужно быть и от вашей цели, вы можете изучить элемент Canvas и связанный с ним javascript.
D3.js - это библиотека JavaScript для управления документами на основе данных. D3 помогает оживить данные с помощью HTML, SVG и CSS. Акцент D3 на веб-стандартах дает вам все возможности современных браузеров, не привязывая себя к проприетарной платформе, сочетая мощные компоненты визуализации и управляемый данными подход к манипуляциям с DOM.
Взгляните на это обсуждение слишком.