Рафаэль Дж. С. - Разбор SVG на лету - PullRequest
4 голосов
/ 18 мая 2010

Я обнаружил аккуратный анализатор SVG на http://bkp.ee/atirip/, который анализирует файл SVG и выводит его в javascript, который использует библиотеку Raphael JS (raphaeljs.com). Вы заметите в исходном коде на http://bkp.ee/atirip/svg2rdemo.php:

<script>
  jQuery(document).ready( function() {
    $("#c1").each(function(){  
    var c = Raphael(this, 190, 154, 0, 0);
    var g1 = c.set();
    ...

он создает переменные типа g1, g2 и т. Д. Но он также использует эти переменные. Я хотел бы создать уникальные переменные для каждой группы. В моем файле .ai я назвал свои группы и хотел бы использовать эти имена для создания имен переменных.

Где в http://bkp.ee/atirip/f/svgToRaphaelParser.php.zip мне посмотреть, чтобы внести это изменение?

1 Ответ

2 голосов
/ 18 мая 2010

Я сделал некоторые корректировки и выжал одну ошибку. Вы можете скачать новую версию.

Теперь вы можете вызывать парсер следующим образом:

svgToRaphaelParser::parse(filename, containername, canvasname, groupname, shapename)

Без shapename он работает так, как раньше: svgToRaphaelParser::parse("f.svg", "this", "c", "g") выдает код, который вы уже знаете.

Чтобы не использовать одни и те же имена, используйте разные имена холста и / или группы для разных файлов SVG.

В качестве новой функции, если вам нужен доступ к различным фигурам, используйте ее следующим образом:

svgToRaphaelParser::parse("f.svg", "this", "c", "g", "s")

Без Shapename вы получаете это:

g1.push(c.path(...));

С shapename вы получаете это

var s1 = c.path(...);
g1.push(s1);
...