Рисование фигур в Javascript - PullRequest
11 голосов
/ 04 июня 2009

Есть ли хорошая альтернатива холсту с html5-элементом для рисования фигур, подобных шестиугольникам, с использованием javascript, который работает в кросс-браузерном режиме (включая ужасный IE6)?

Я использовал для этого jQuery и jQuery maphighlight, но он не дает мне достаточно возможностей для манипулирования формами и цветами после первого рендеринга.

Мне не хватает некоторых функций в jQuery maphighlight, или есть какой-нибудь другой плагин для jQuery или mootools, который может предоставить мне такие возможности рисования?

Ответы [ 5 ]

25 голосов
/ 04 июня 2009

Тебе стоит взглянуть на RaphaelJS. Это JavaScript, библиотека межбраузерной обертки для Canvas, SVG и VML (язык векторной разметки только для IE, предшествующий SVG, используемый в IE6). Используя RaphaelJS, вы можете создавать очень широкий спектр векторной графики, используя JS, который совместим с очень широким диапазоном браузеров.

http://raphaeljs.com/

RaphaelJS также очень совместим с jQuery и выполняет те же цепочки вызовов, что и в jQuery. Два составляют отличную пару.

2 голосов
/ 04 июня 2009

Есть также знаменитый холст.

http://caimansys.com/painter/

2 голосов
/ 04 июня 2009

Попробуйте Рафаэль .

Raphaël в настоящее время поддерживает Firefox 3.0+, Safari 3.0+, Opera 9.5+, Chrome 2.0+ и Internet Explorer 6.0+.

1 голос
/ 04 июня 2009

Вы можете использовать реализацию SVG, найденную в Ample SDK , которая работает и в Internet Explorer. Вы получите стандартный API (DOM Level 2/3) и нотацию разметки (SVG1.2 Tiny).

Вот пара примеров:

  1. SVG Tiger
  2. SVG + SMIL / DOM
1 голос
/ 04 июня 2009

Мне всегда нравится перспективный порт для javascript. Вы можете найти, что здесь очень хорошо рисовать вещи. Может быть, вы можете проверить это. Это не аддон к jquery, но он очень мощный.

Он использует элемент HTML5 Canvas, хотя: (

Несколько версий назад это работало только в новых браузерах. Я не знаю, был ли он уже перенесен на предыдущие.


Еще один API, который я нашел, который использует div для рисования, это this Если вы хотите рисовать ограниченные вещи, то можно использовать его. Но будьте осторожны, так как при увеличении количества прорисовок структура HTML становится немного тяжелее

...