使用ghostscript转换后如何防止白边

How to prevent the white border after convert with ghostscript

我尝试使用 ghostscript 将 .eps 文件转换为 .png。

.eps 文件的分辨率为 1000x1000 像素。但是 outfile 的左侧和底部有白色的大边框。

gs -dNOPAUSE -dBATCH -r1000x1000 -q -sDEVICE=png256 -dDEVICEWIDTHPOINTS=880 -dDEVICEHEIGHTPOINTS=720 -sOutputFile=infile.png infile.eps

在没有看到 eps 文件的情况下不确定是什么原因造成的,但是您可以 trim 使用 ImageMagick 关闭它,如下所示:

convert SomeFile.png -trim result.png

ImageMagick 安装在大多数 Linux 发行版上,可用于 OSX 和 Windows.

我找到了解决方案: -dEPSCrop

EPS 文件没有分辨率,因此它不可能有 1000x1000 的分辨率,尤其是 1000x1000 像素,因为那不是分辨率,它是尺寸。

我很怀疑你想将分辨率设置为 1000 dpi,同时将媒体大小设置为 880 点 x720 点。这将导致 .png 12000x10000 像素。 (英寸有 72 点,这意味着您将 12x10 英寸的介质设置为每英寸 1000 doits)

处理 EPS 文件(与 PostScript 文件略有不同但很重要)的正确方法是自行安排缩放比例。

如果生成的图像的尺寸对您不重要,那么您可以使用 -dEPSCrop 生成图像,其中媒体的尺寸取自 EPS 文件中的注释。

如果您要求图像具有特定尺寸,那么您应该使用 -g 设置媒体大小(以像素为单位)、设置 -dFIXEDMEDIA 和设置 -dEPSFitPage,这将缩放 EPS 以适合媒体尺寸。