2010-04-26 01:53:51 +0000 2010-04-26 01:53:51 +0000
179
179

在Mac OS X上将SVG转换为PNG的命令行应用程序。

有什么命令行程序可以将SVG转换为PNG,并在Mac OS X上运行?

编辑。Dylan B有一个很好的答案,就是ImageMagick. 作为参考,在Mac OS X上使用MacPorts安装支持SVG的ImageMagick,执行

port install imagemagick +rsvg
```。

答案 (6)

251
251
251
2010-05-17 13:32:33 +0000

或者在不安装任何东西的情况下:

qlmanage -t -s 1000 -o . picture.svg

它会生成1000像素宽的图片.svg.png。

我只在OS X 10.6.3上测试过。

45
45
45
2010-04-26 02:00:10 +0000

ImageMagick是一个极其通用的命令行图像编辑器,如果有图形用户界面的话,它可能会与Photoshop相媲美。P

类似下面的东西可以在安装后将一个.svg转换成.png。

$ convert picture.svg picture.png

原始的.svg并没有被删除.

4
4
4
2014-09-27 08:47:51 +0000

我用node/npm做了 svgexport ,它是跨平台的,可以简单到。

svgexport input.svg output.png
2
2
2
2019-05-11 18:49:15 +0000

却又是一种不需要安装任何东西的方法。不过不是在命令行中。

1.在Safari中打开.svg文件。 2. 按alt-command-i打开检查器。 3. 右键点击<svg>标签,选择 “捕捉截图"。(注意不能放大图片。)

P.S.如果要放大.svg图片,如果图片太小,可以尝试用文本编辑器打开.svg文件,并在除元属性外的每个数字上追加0。这可以通过全局的regex替换来完成,从(\d+)$10,其中$1是回溯引用的占位符,例如。

1
1
1
2015-06-26 02:48:16 +0000

ImageMagick的convert命令,使用一些其他参数,是为我做的。这是我的批处理Bash脚本解决方案,它将任务分配到多个进程中,以利用你所有的核心! 根据需要进行修改。

batchConvertToSVG.sh (以进程数为参数):

end=$(( $1 - 1 ))
for i in `seq 0 $end`;
        do
            echo Spawning helper $i of $end
                ./convertToSvgHelper.sh $i $1 &
        done

convertToSvgHelper.sh:

n=$1
for file in ./*.svg; do
   filename=${file%.svg}
   echo converting file named $filename
   test $n -eq 0 && convert -format png -resize 74 -background transparent -density 600 $file $filename.png
   n=$((n+1))
   n=$((n%$2))
done

convertToSvgHelper.

0
0
0
2014-05-02 18:25:58 +0000

你可以将整个文件夹的SVG文件批量转换为PNG。我使用Inkscape命令行界面生成宽度为80px的png文件。

find ~/desktop/toconvert '*.svg' -exec /Applications/Inkscape.app/Contents/Resources/bin/inkscape -z -w 80 -e "{}".png "{}" \;

png将以原始名称*.png保存。