在某技术博客这里看到了一个炫酷的svg效果。
![](https://img.haomeiwen.com/i3910623/137b2aacb3ec5c90.gif)
文章的开头是这样的,超带感的BatMan Logo有没有,略激动。
然后往下看。
![](https://img.haomeiwen.com/i3910623/5c48f8fe75e7e24f.gif)
虽然我知道这两个原理应该是一样的,
但我就是冲着蝙蝠Logo来的好吗???
![](https://img.haomeiwen.com/i3910623/648e257330d7130a.png)
默默Copy走下面F和Twitter的Path。百度搜索 batman Logo svg。。。无果。。。
好了,既然没有那只好自己动手了。直接截图Logo,导入PS。
![](https://img.haomeiwen.com/i3910623/61cb0dd4c42b4c40.png)
so,这是一篇二流程序员和不入流UI的SVG制作教程。
毕竟动手能力真的强
纯色图案我们直接通过快速选择获取轮廓选取。
![](https://img.haomeiwen.com/i3910623/3309c17f78d3a3c3.png)
右键建立工作路径,容差默认2,得到矢量路径。
![](https://img.haomeiwen.com/i3910623/7525155cfe0fa764.png)
选择文件 > 导出 > 路径到AI,保存路径文件
![](https://img.haomeiwen.com/i3910623/fefc998ee247d98b.png)
使用AI打开保存的路径文件,打开时选择图稿定界框,这样画板会自适应我们的路径文件。注意路径要右键选中才能看到
![](https://img.haomeiwen.com/i3910623/d03768c4b8953d68.png)
使用选择工具在菜单栏给路径描边,等比线段1像素即可
![](https://img.haomeiwen.com/i3910623/be828fb7df1c1dcb.png)
选择文件另存为,保存为svg格式
![](https://img.haomeiwen.com/i3910623/a274b35525c40540.png)
同样操作另外一个截图,得到了两个SVG源文件。
![](https://img.haomeiwen.com/i3910623/441be68add65e6c4.png)
有了两个不同路径,那么就可以尝试制作AnimatedVectorDrawable来实现动画了。这里用一个插件直接把SVG导入AndroidStudio,静态展示无误。
![](https://img.haomeiwen.com/i3910623/a16cd9ab1f25f7f9.png)
![](https://img.haomeiwen.com/i3910623/d7d4c9bb9f2b3d96.png)
然后就来写个AnimatedDrawable了,
具体可以看这里 Android矢量动画实践
然后....毫不客气的报错了
![](https://img.haomeiwen.com/i3910623/a1ae26e2410c0efb.png)
这个是坐标不匹配造成的,没关系,我们有修坐标神器 Vectalign
输入前后路径文件
java -jar vectalign.jar --start 1.svg --end 2.svg
![](https://img.haomeiwen.com/i3910623/9a743afad94d8125.png)
得到修改后的坐标结果,填入我们的XMl文件。
然后准备看完美的效果了哈哈哈
![](https://img.haomeiwen.com/i3910623/847e5d30c6125239.gif)
貌似,好像,有些不对..怎么和预期的效果有点差距...
看起来是由于画板大小不匹配造成的,导致路径没有按照预期的形式过渡
解决办法是,手动匹配坐标点
或者重新切一套匹配的SVG?
如果有UI大神看见了...求教如何制作路径匹配的SVG....
今天的炫酷SVG教程就到此为止啦~
先发出来了,待我回头改好了图再来编辑文章...
网友评论