是否可以将.Sketch文件转换为.SVG?

Sup*_*tar 9 file-conversion sketch-3

是否可以将Sketch文件转换为SVG而无需实际使用Sketch或DrawIt?我知道它在理论上是可行的,因为它们都是矢量,但我使用Windows和Linux,所以我没有Mac打开文件.

小智 18

目前,Figma免费注册并支持Sketch导入和SVG导出.它是一个功能齐全的设计工具,基于浏览器,所以它应该适用于所有三个主要平台(OS X,Windows和Linux).从Sketch导入文件并不是与Figma完美的一对一映射,因为两个应用程序的功能集略有不同,但它应该可以让你获得99%的功能.

  • 你救了我的一天,谢谢!Figma 对我来说效果很好。 (3认同)

Cal*_*eng 12

关于"使用OS X独有的许多技术的草图"没有"魔力".Sketch制作者网站上的这一陈述是在他们不打算在Linux和Windows上提供Sketch应用程序的背景下.

你遇到的真正问题如下: -

sketch文件是一个sqlite3文件,其中有(当前正在编写本文)两个表,metapayload.该payload表是一个键值存储,存储mainBLOB值.这就是你被卡住的地方 - BLOB如果你没有Sketch程序,你将不得不弄清楚如何逆向工程.

另一方面,如果你有一个Sketch程序,你不需要对任何东西进行反向工程,你可以使用Sketch Plugin API从Sketch文件中查询信息,这些API在此处有详细记录 - http://bohemiancoding.com/sketch/support/developer / - 如果您有复杂的设计工作流程,它将允许您自动完成许多任务. http://zeplin.io是一个简单的Sketch插件的示例,它从设计人员创建的草图画板中为开发人员提取相关的"spec"信息.

但回到原来的问题,Sketch本身允许您导出SVG文件,但假设您有Sketch应用程序.简而言之,除非您在草图文件中对BLOB二进制文件进行逆向工程(或使用其他人创建的可以使用的工具),否则无法在没有Sketch应用程序的情况下以编程方式将草图文件转换为SVG文件.

  • `payload`表中的`BLOB`是一个`bplist`对象(Apple二进制plist),可以使用https://github.com/cclgroupltd/ccl-bplist和2行代码打开(参见那里的自述文件) ).此时,您可以在"清除"文本中看到矢量图形结构(ccl_bplist将其加载为python字典).您需要找到与SVG的匹配,并且您在那里有一个转换器.既然它是文本,你至少可以猜测你的方式,并让它在你的手上花费一些时间. (5认同)