最容易阅读的矢量图像格式是 svg,因为 svg 是 XML,而 XML 只是纯文本。
使用 Illustrator 或 Inkscape 之类的工具将矢量图像转换为 svg,然后在文本编辑器中打开它。你会发现像<path /> 和<rect /> 这样的大多数形状在Raphael 中都有直接的等价性。例如,<path /> 对象在其d 属性中定义了路径坐标,它的语法与 Raphael 中的路径相同:
<path
style="fill:none;stroke:#000000;stroke-width:12"
d="m 116.6,832.4 c 0,0 5.8,85.5 127.6,87.0 121.8,1.4 137.7,-79.7244"
/>
您可以将其转换为 Raphael 的:
var path = paper.path(
"m 116.6,832.4 c 0,0 5.8,85.5 127.6,87.0 121.8,1.4 137.7,-79.7244"
);
path.attr({fill:'none',stroke:'#000000';'stroke-width':12});
请注意应用于对象和组的任何转换(<g /> 元素),您必须在 Raphael 中重复它们。例如,您看到以下内容:
<path
style="fill:none;stroke:#000000;stroke-width:12"
d="m 116.6,832.4 c 0,0 5.8,85.5 127.6,87.0 121.8,1.4 137.7,-79.7244"
transform="translate(-124,370)"
/>
然后在 Raphael 中创建路径后,您需要应用 translate():
path.translate(-124,370);
您可能可以编写一个脚本来将 svg 文件转换为 Raphael 语法,或者将 svg 文件作为文本加载到浏览器中,然后使用浏览器的 XML DOM 解析器对其进行处理并使用 Raphael 进行绘制。