SVG в VML - как? - PullRequest
       53

SVG в VML - как?

4 голосов
/ 18 июня 2011

У меня есть файл SVG, который я хотел бы просмотреть в Internet Explorer.

IE использует VML для векторных файлов, но я не могу найти НИКАКОГО конвертера между этими двумя форматами! (не в Inkscape, Illustrator, OpenOffice Draw ..... как это возможно!)

Я посмотрел на Рафаэля, но Рафаэль не может прочитать существующие файлы.

Я нашел http://vectorconverter.sourceforge.net/index.html

но я не могу понять, как его использовать ... любая помощь?

Ответы [ 3 ]

2 голосов
/ 27 июня 2011

Попробуйте это - Путь SVG к пути VML .Он в основном преобразует путь SVG в путь VML, который можно использовать в v:shape. Однако вам все равно придется преобразовывать path SVG вручную в v:shape.Конвертер векторов, который вы пробовали, основан на веб-технологиях и использует XSLT-шаблоны для преобразования, в то время как библиотека, которую я предлагаю, может сделать это с помощью чистого JavaScript и одной строки кода.Надеюсь, это поможет.

1 голос
/ 03 сентября 2011

Вы можете попробовать этот онлайн-конвертер: http://www.irunmywebsite.com/raphael/SVGTOHTML_LIVE.php

Вы можете выбирать между фигурами, преобразованными в JSON, которые управляются Рафаэлем.Или встроенная и более быстрая упаковка с Raphael.

Я лично предпочитаю метод JSON.Вы можете поместить содержимое во внешний файл и ajax-чертежи по желанию.Затем вы будете рисовать фигуры одним из следующих способов:

    Raphael(json);  //create a new paper with the shapes

Или, если вы хотите нарисовать на существующей бумаге:

    function drawJson(items, paper) {
        var set = paper.set(),
            l = items.length;

        for (i = 0; i < l; i++) {
            set.push(paper[items[i].type]().attr(items[i]));
        }

        return set;
    }

Вы можете поместить последнюю функцию вПлагин Raphael.

Примечание. Вы можете сэкономить несколько килобайт, удалив пробелы внутри преобразованных путей.Например с муравьем:

<replaceregexp match="\s?([CML])\s?" replace="\1" flags="g" file="drawings.json"/>
0 голосов
/ 19 января 2012

LibreOffice может читать VML, импортированный из документа Word. Вы также можете загрузить и настроить SVG => VML XSLT и протестировать его в IE следующим образом:

<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" media="application/xml" charset="UTF-8" href="svg2vml.xml"?>
<svg>
  <rect x="25" y="25" width="150" height="200" style="stroke:#AABBFF; stroke-width:1; fill:#AABBFF"/>
  <ellipse cx="100" cy="120" rx="50" ry="75" style="stroke:#FF0000; stroke-width:4; fill:#AABBFF"/>
</svg>
...