我正在尝试使用Ghostscript将一些较大的EPS图像转换为PNG文件。我找到了一个命令,通常情况下效果很好。

gs -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dEPSCrop
 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=pngalpha -dTextAlphaBits=4
 -dGraphicsAlphaBits=4 -dUseCIEColor -r300x300 -dProcessColorModel=/DeviceRGB
 -sOUTPUTFILE=outfile.png infile.eps

(当然,都在一行内)

但是在某些情况下,它只是无法正常工作。

例如:

我有一个eps图像,Photoshop说它的分辨率为 300dpi ,具有 1977x3584px

Ghostscript以 72dpi生成仅 474x860px 的png。

我究竟做错了什么。我看到高度比3584/860接近300/72。但是尝试在命令行中调整分辨率(-r)没有任何效果。

另一个可能引起关注的奇怪问题:

我的eps文件包含一个剪切路径。通常,上面的命令会使用它,并将透明背景添加到我的png文件中。

万一分辨率变差,就没有透明度。

我还没有完全检查过,但似乎所有没有问题的eps文件都只有 72 dpi。

如果有问题,我将使用 GPL Ghostscript 9.05(2012-02-08)。

最佳答案

EPS文件没有“分辨率”。严格禁止EPS文件(根据Adobe的规范)
从设置分辨率或任何其他“设备”参数开始,因为它们打算“封装”到PS文件中。将EPS封装到最终图像中的程序可控制位置,缩放比例和分辨率。

如果没有样本文件,我们将无法说明太多,但是只有一个样本文件,诊断起来可能很简单。

09-04 05:30
查看更多