当我使用此命令将 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 平台上找到该标准。我相信转换中有几何选项。