将SVG矢量转换为Android多密度png drawable

时间:2016-08-11 21:00:00

标签: android android-drawable

我有一些SVG格式的图标,并希望将它们转换为Android png drawables,大小如下:drawable-mdpidrawable-hdpidrawable-xhdpidrawable-xxhdpidrawable-xxxhdpi

将SVG转换为可绘制png的最简单方法是什么?

5 个答案:

答案 0 :(得分:7)

问题可能有点过时,但我搜索了互联网并没有找到任何好的解决方案。所以我写了一个简单的bash脚本,它可以转换SVG以及光栅图像格式。

这是: https://gist.github.com/tntclaus/18f4fe7e8540f1cb283d2c7d8ad21d69

用法:

./generateAndroidDrawables.sh <image.file> <dp>

至少需要ImageMagic,可以通过brewmacports在OS X上安装。不幸的是ImageMagic很难转换SVG,所以我添加了对Inkscape的支持。如果未安装Inkscape,脚本将回退到ImageMagic转换。

答案 1 :(得分:1)

我在网上工作过tool,可以将svg图像转换为不同的平台,包括android。

默认情况下,它将把它转换为Android drawable,因此您需要将Android设置从auto更改为png,它将创建您需要的所有密度。

请注意,mdpi分辨率将与svg相同。因此,您可能需要更改width / height参数以放大以输出。或者,您可以免费试用该服务,该服务可让您指定mdpi版本的输出分辨率。

答案 2 :(得分:1)

我最近看到了这个,我看到了答案,但是很难。

此在线tool更加容易https://appicon.co/

您可以将任何图像转换为android multi density或IOS

答案 3 :(得分:0)

为时已晚,但我发现Github Java project, named SVG to PNG Converter,确实非常快捷,可以将SVG文件转换为与Android兼容的png drawable。

答案 4 :(得分:0)

您可以使用Vector将SVG直接转换为可绘制对象。

此方法为您提供了使用图像的便捷方法。

此视频为您提供有关如何操作的清晰说明:https://youtu.be/-nYRhX2LsvQ