Ghostscript:将 EPS 转换为 PNG 时,有时质量会失败

Posted

技术标签:

【中文标题】Ghostscript:将 EPS 转换为 PNG 时,有时质量会失败【英文标题】:Ghostscript: When converting EPS to PNG, sometimes quality fails 【发布时间】:2014-06-04 08:01:27 【问题描述】:

我正在尝试使用 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 说它有 1977x3584px,分辨率为 300dpi

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

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

另一个可能感兴趣的奇怪问题:

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

以防万一解决问题,没有透明度。

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

如果重要,我会使用 GPL Ghostscript 9.05 (2012-02-08)。

【问题讨论】:

【参考方案1】:

EPS 文件没有“分辨率”。严禁使用 EPS 文件(根据 Adob​​e 的规范) 设置分辨率或任何其他“设备”参数,因为它们旨在“封装”到 PS 文件中。将 EPS 封装到最终图像中的程序控制位置、缩放和分辨率。

如果没有示例文件,我们无法判断太多,但如果有一个示例文件,诊断可能很简单。

【讨论】:

以上是关于Ghostscript:将 EPS 转换为 PNG 时,有时质量会失败的主要内容,如果未能解决你的问题,请参考以下文章

Ghostscript - EPS(带有透明背景的嵌入式 TIFF)到 PNG 转换

如何在将 eps 文件转换为 jpeg 或 png 时更改其背景颜色

Ghostscript:将 PDF 转换为 CMYK EPS

重新缩放 EPS 并转换为 PDF

如何告诉 Ghostscript 在从 eps 到 tiff 的转换中不要使用剪切路径?

Ghostscript:在保持纵横比的同时设置像素宽度,EPS到PNG