我通读了使用说明文档,找不到任何方式输出宽度为X像素的图像,高度由宽高比决定。我有大量需要栅格化的EPS文件,它们至少需要2400像素宽。我目前的解决方法是使用-r
标志来设置通常足够高的分辨率,但这会使许多图像变得非常大,比我需要的要大得多。Ghostscript:在保持宽高比的同时设置像素宽度,将EPS设置为PNG
我目前使用这个命令:
gs -dNOPAUSE -sDEVICE=pngalpha -dEPSCrop -sOutputFile=./result.png -r500x500 -dEPSFITPAGE -dBATCH -dQUIET ./input.eps
我已经尝试了不同的组合和-g
,-dDEVICEWIDTH
,-dDEVICEHEIGHT
,-dFIXEDMEDIA
,-dFIXEDRESOLUTION
和-dFitPage
,但我无法弄清楚设置。
我有一种感觉,可能需要一些种类的数学来简单地设置-r
的正确值,这将产生所需的尺寸,但我不知道如何去做这件事。任何帮助感谢!
我试图寻找到的PostScript,但是我找不到包含的相关信息,除[这个可怕的PDF简洁导游或教程参考指南](https://www.adobe.com/products/postscript/pdfs/PLRM.pdf)。我也发现[这个答案](http://stackoverflow.com/a/10024458/441212),但我不知道代码中究竟发生了什么,什么是最好的资源可以用来学习如何做你刚刚描述的事情? – Julien
这是我的答案,你不想那样。 PostScript是一种编程语言,如果你想对它做任何有建设性的事情,恐怕你至少要学习一些语言。 PLRM可能看起来很大,但对于一个完整的语言来说它非常紧凑,而且写得很好。您可以搜索其他涉及BeginPage的答案,我相当肯定您会从我这里找到一些,可能还有其他的。我会推荐John Deubert的Acumen Training(http://www.acumentraining.com/acumenjournal.html)网站来获取PostScript指南。 2001年7月有关于使用BeginPage和EndpPage的文章 – KenS
谢谢Ken。我会研究你的建议资源。 – Julien