将 eps 转换为 png - 尺寸

将 eps 转换为 png - 尺寸

当我使用此命令将 EPS 转换为 PNG 时

gs -dSAFER -dBATCH -dNOPAUSE -r600 -sDEVICE=pnggray -sOutputFile=%1.png "%1.eps"

尽管 EPS 中的边界框是正确的,但我得到了较大尺寸的 PNG 图片。

例如来自带标题的 EPS

%!PS-Adobe-3.0 EPSF-3.0
%%边界框:204 603 407 759
%%高分辨率边界框:204.242619 603.788607 406.691988 758.249977
].................................
%%创建者:GPL Ghostscript 864 (epswrite)
%%创建日期:2011/12/10 21:30:18
%%文档数据: Clean7Bit
%%语言级别:2
%%结束评论

我获得了 4958x7018 的 png。这将对应于整个 A4 页面,而不是边界框。


这是 png 文件的链接:https://i.stack.imgur.com/i5joS.png(我不想把这个巨大的怪物放进帖子里)并且 gsview 的屏幕截图显示了边界框:https://i.stack.imgur.com/BrJx3.png;我还将 EPS 文件上传到快速共享- 我不确定这里共享文件的首选方式是什么。(文件在这里只是为了解决问题描述不够清楚的情况。)


我通常在 metapost 中绘制图片,从中我可以轻松获得 EPS 和 PDF - 它们非常适合包含到我的 TeX 文档中。我需要转换为其他格式的原因是我想将图片发布到数学。在imgur上可以上传pdf,但是效果很丑。


我的问题:

  • 有没有办法获得与边界框对应的尺寸的 PNG?

  • 对于使用 ghostscript 将 EPS 转换为 PNG 还有其他建议吗?(我应该使用更多参数吗?)

答案1

您还需要使用该-dEPScrop选项。从GhostScript“如何使用”页面

EPS 参数

-dEPSCrop将 EPS 文件裁剪至边界框。这在将 EPS 文件转换为位图时很有用。

-dEPSFitPage调整 EPS 文件大小以适合页面。这对于在打印时放大 EPS 文件以适合纸张尺寸很有用。

-dNOEPS防止对 EPS 文件进行特殊处理。当 EPS 文件具有不正确的文档结构约定注释时,此功能很有用。

答案2

尝试-dEPSCrop添加gs

或者

为什么不尝试从 Imagemagick 进行转换?您可能会在大多数 Linux 平台上找到该标准。我相信转换中有几何选项。

相关内容