SVG простой инструмент для рисования

У меня есть коллекция шаблонов в формате SVG онлайн. http://grid.kevinbock.de/

теперь я подумал, что было бы здорово нарисовать их онлайн и, по крайней мере, заполнить области с помощью SVG... "onclick = fill"...

я не мог найти учебник именно для этого и интересно, если бы вы могли помочь мне, как настроить код для этого...

Вот пример сетки в формате SVG:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="50%"
 viewBox="0 0 800 600" preserveAspectRatio="xMidYMid slice" width="100%" height="100%" enable-background="new 0 0 800 600" xml:space="preserve">

<polygon fill="none" stroke="#000000" stroke-width="0.25" stroke-miterlimit="10" points="653.458,599.182 653.458,585.273 
665.501,592.229 677.546,599.182 665.501,606.135 653.458,613.09 "/>
<polygon fill="none" stroke="#000000" stroke-width="0.25" stroke-miterlimit="10" points="653.458,571.367 653.458,557.461 
665.501,564.414 677.546,571.367 665.501,578.32 653.458,585.273 "/>
<polygon fill="none" stroke="#000000" stroke-width="0.25" stroke-miterlimit="10" points="653.458,543.553 653.458,529.646 
665.501,536.602 677.546,543.553 665.501,550.508 653.458,557.461 "/>

... and so on...
</svg>

следующие вопросы: есть ли возможность получить что-то вроде привязки при рисовании линий в сетке? рядом с вектором указывает? и есть ли способ вставить кнопку "назад / отменить" и сохранить файл?

1 ответ

Для показа вы можете просто использовать <svg> тег в вашем HTML-код. Чтобы манипулировать SVG вы можете использовать javascript, Вы можете манипулировать рисунком SVG как обычным DOM документ. Пример:

<html>
  <script>
    function colorChange()
    {
      var el = document.getElementById("mycircle");
      el.style.fill = "blue";
    }
  </script>
  <svg>
    <circle onClick="colorChange();" id="mycircle" cx="100" cy="50" r="40" stroke="black"
  stroke-width="2" fill="red"/>
  </svg>
</html>

Посмотрите это jsfiddle, чтобы увидеть его в действии.

Другие вопросы по тегам