其他分享
首页 > 其他分享> > 如何创建离线化 mapbox sprite精灵图

如何创建离线化 mapbox sprite精灵图

作者:互联网

在线网站的工具,只能生成精灵图,没有json配置文件。

mapbox精灵图工具

mapbox开源了一个精灵图制作工具 spritezero,这个工具可以生成精灵图和对应的json文件。spritezero 的输入文件是svg文件,输出文件是指定比例的精灵图和对应的json文件。

我自己在安装 spritezero 这个工具时总报错,翻看它的 issues 发现很多人都碰到了这个问题。原因是用到的一个类库太老了,我最终解决办法是另辟蹊径,找了一个它的docker库 spritezero-docker , 这个docker库里已经把 spritezero 的环境配置好了,直接用就行。

spritezero-docker 使用方法

下面的操作步骤是基于linux系统

docker pull dolomate/spritezero

 

 

 

 

 

docker run -it -e FOLDER=_svg -e THEME=sprites -v ${PWD}/data:/data dolomate/spritezero

 

 

精灵图黑框问题

查看生成的精灵图,你可能会碰上下图中的问题:只有黑色轮廓

 

一通排查,发现上面问题的原因是:在svg代码中,style的写法问题。style单独写不行,需要内嵌到dom元素中,如下图:

 

 

 

 解决方法,用 AI(Adobe Illustrator) 软件导出SVG文件时,CSS属性栏选择“样式属性”,style就会内嵌到dom元素中了。下图是导出时的正确选项,更深入的可以参考这篇文章

 

 

总结:



 

 



标签:sprite,svg,mapbox,离线,精灵,生成,json,spritezero,docker
来源: https://www.cnblogs.com/lishanyang/p/15479762.html