2008-09-18 3 views
45

Любое предложение для интерактивной библиотеки рисования JavaScript? Просто нужно рисовать линии, полигоны, тексты разных цветов. Совместимость с IE/Firefox/Opera/Safari. Библиотека чертежей Javascript?

ответ

7

Вы можете использовать объект canvas непосредственно для рисования в 2D. IE требует библиотеки excanvas.

http://developer.mozilla.org/En/Drawing_Graphics_with_Canvas

+0

Холст - это способ пойти на что-то большее, чем несколько тривиальных коробок или линий. И excanvas работает на удивление хорошо, по крайней мере, на IE 7. – dgvid 2008-09-18 20:36:32

+0

Отлично работает с IE6. – Prestaul 2008-09-18 20:41:44

+0

выглядит как Рафаэль может делать больше, чем простые коробки и линии. Http://raphaeljs.com/ – ina 2010-08-04 12:41:05

15

Резиг-х Processing.js хорошая основа для этого.

+0

как обрабатывает.js сравнить с raphael для статической графики? – ina 2010-08-04 12:40:42

+1

Печально обработка не поддерживает IE. Это немного жаль, но это выглядит здорово. – 2010-10-14 01:49:43

1

В зависимости от того, насколько вам необходим кросс-браузер и ваша цель сделать вывод, вы можете изучить элемент Canvas и соответствующий javascript.

Canvas

48

Raphael довольно круто для этого и работает в разных браузерах, поскольку он использует VML (для MSIE) и SVG (для всего остального).

2

Рисование текста с тегом холста - большая боль. Ваши варианты состоят в том, чтобы использовать регулярные divs, абсолютно расположенные в правильных местах, или найти/записать механизм макета шрифта (example) или дождаться, когда будет реализован новый стандарт, который позволит вам нарисовать текст. SVG имеет дело с этим намного лучше.

В IE у вас есть ExplorerCanvas, чтобы имитировать API холста с собственной разметкой VML IE. Однако родной VML может делать текст на пути и такие вещи, как SVG. Я думаю, что теоретически, если вам нужна сложная обработка текста, вам нужны SVG и VML, как библиотека Raphael, о которой упоминал Дэн.

Вы также можете рассмотреть Flash на мгновение перед запуском.

2

Как уже упоминалось выше, холст - это то, как вы должны идти. IE не поддерживает его изначально, поэтому вам необходимо загрузить ExCanvas, чтобы обеспечить совместимость между браузерами. Я бы рекомендовал посмотреть на Ajaxian для некоторых проектов, которые используют тег canvas.

2

Также mxGraph. Это не использует excanvas для IE. Excanvas работает медленнее, чем использование VML, в частности, повторно использовать те же узлы VML, а не удалять, добавляя узлы DOM для перерисовки. Это часто упускается из виду, но excanvas на производительность IE просто ужасен.

0

D3.js

D3.js библиотека JavaScript для работы с документами на основе данных. D3 помогает вам оживлять данные с помощью HTML, SVG и CSS. D3's акцент на веб-стандарты дает вам все возможности современных браузеров, не привязывая себя к собственной структуре, сочетая в себе мощные компоненты визуализации и подход с данными к DOM .

Посмотрите также на этот discussion.

Смежные вопросы