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