2
我有大约434个.svg图标我想准备好在Android应用中使用它们。由于使用Inkspace手动导出它们可能是疯狂的,因此我试图找到一种使用ImageMagick和类似方法导出它们的方法。我试图想出一个脚本:自动将SVG转换为Android可用PNG
#!/bin/sh
echo "Deleting directories"
rm -rf ../mdpi ../hdpi ../xhdpi ../xxhdpi ../xxxhdpi
echo "Creating directories"
for d in ./*; do
mkdir -p ../mdpi/$d ../hdpi/$d ../xhdpi/$d ../xxhdpi/$d ../xxxhdpi/$d
done;
for f in ./*/*.svg; do
filename=`dirname $f`/`basename $f .svg`.png
echo "Converting $f to $filename"
convert -background transparent $f -resize 24x24 ../mdpi/$filename # 2>/dev/null
convert -background transparent $f -resize 36x36 ../hdpi/$filename # 2>/dev/null
convert -background transparent $f -resize 48x48 ../xhdpi/$filename # 2>/dev/null
convert -background transparent $f -resize 72x72 ../xxhdpi/$filename # 2>/dev/null
convert -background transparent $f -resize 96x96 ../xxxhdpi/$filename # 2>/dev/null
echo 'Done'
done;
它转换它们,但结果看起来很可怕。由于ImageMagick似乎像处理任何其他图像一样对待SVG,所以SVG的清晰线条因抗锯齿而变得模糊。再加上大小都是错误的,因为几乎没有任何结果文件是方形的。
我需要一些方式来SVGs转换与几乎以下条件:
- 无抗锯齿
- 创建与SVG在中心
- 允许重新绘制一个正方形图片-colour全黑SVG图像(可选)
- 使用Linux命令行(Arch Linux的)
对于完整的故事:我试图从Polymer中获得Material Design的图标以便在应用程序中使用。
它的工作完美,除了命令应该是'convert',而不是'im'。非常感谢! – Lanbo 2014-10-02 10:45:28
对不起,我使用了一个缩短的符号链接。 – rostok 2014-10-02 11:11:58
你可以发布一个github存储库和android生成的图标吗? @LambdaDusk – ClarkXP 2014-11-24 14:33:30