2011-03-18 84 views

回答

0

ImageMagick的convert可以为你做到这一点。

7

您可以使用许多工具。我建议使用ImageMagick的convert命令。

#!/bin/bash 

# example 1 
convert myfile.jpg myfile.eps 

# example 2 
for file in file1.jpg file2.jpg file3.jpg; do 
    echo convert "$file" $(echo "$file" | sed 's/\.jpg$/\.eps/') 
done 

为了例如2来看,你需要删除echofor -loop内。确保在删除它之前输出的命令是正确的

1

另一种选择是将来自netpbm工具包的jpegtopnmpnmtops合并。 然而,这将产生PS,而不是EPS。

for f in *.jpg 
do 
    g=`echo "$f" | sed 's/\.jpg$/\.eps/'` 
    echo "$f -> $g" 1>&2 
    jpegtopnm $f | pnmtops > $g 
done 
+0

这会产生一个PNG文件,而不是EPS。您可能想使用'pnmtops'而不是'pnmtopng'。 – 2013-09-02 23:57:17

+0

@保罗:哎呀;谢谢;固定。 – reinierpost 2013-09-03 07:04:56

0

我经常这样做,有时在Windows上。因此,我写了一个使用convert的小型在线转换器:

JPG to EPS Converter

希望这也能帮助别人。

22

使用ImageMagick的转换时,最好使用eps2格式。这使得生成的eps文件更小,因为它使用JPEG压缩算法(DCT)。

因此,转换a.jpga.eps做:

convert a.jpg eps2:a.eps 

这当然也可以在shell脚本中使用,以多种JPG转换成EPS。

+0

我执行时出现以下错误: 'convert:无法打开图片'pic.jpg': 。 @ error/blob.c/OpenBlob/2489.' 'convert:无法打开图片'pic.jpg':@ error/blob.c/OpenBlob/2489.' 'convert:missing image filename'eps2:pic .eps'@ error/convert.c/ConvertImageCommand/2940.' 我该怎么办? – 2015-02-04 04:33:08

+0

使用imagemagick'mogrify'命令而不是转换多个文件。 'mogrify -format eps3 * .png' – Raywell 2017-09-04 09:21:44

4

根据user1958943,我也使用了转换工具。然而,随着EPS3格式提供了以质量为EPS2相似甚至更好的压缩,我建议使用

convert a.jpg eps3:a.eps 

顺便说一句,这个工具也适用于PNG文件(也其他)...

有谁知道eps3正在使用哪种压缩?