当我将MSSymbolInstances导出为SVG时,我总是在SVG代码中得到这一行。
<g id="????/Fill/Gray-3" mask="url(#mask-2)" fill="#6A6A78">
直到我手动编辑上面的填充并将“#1D1F20”更改为“none”,我才能在程序中使用SVG。有没有办法在没有这个特殊填充或掩码的情况下导出SVG。
我尝试了几种方法: -
遍历所有图层,如果它是mssymbolinstance,则使用新的草图API sketch.export(图层,选项)导出..这不起作用。
试图复制一个图层将其转换为一个组然后使用group.export,如下所示:
var duplicates = layers [j] .duplicate(); var group = duplicates.detachByReplacingWithGroup(); group = new sketch.Group(group); group.export({ “格式”:“svg”, 输出:outputPath, //'use-id-for-name':是的, }); group.remove();
这也不起作用,因为输出SVG都具有带有一些填充颜色覆盖的掩码。
请帮助。
答案 0 :(得分:0)
尝试使用我制作的名为svgood的npm软件包。它将删除 defs 和 g (它们倾向于包含 mask s)元素,并将 path 元素浮动到 svg 的顶层。我有一些计划使其更有用,但请告知我是否可以添加一些使其更适合您的用例的东西。