我正在使用 python turtle (Tkinter) 绘制一些需要导出到 .jpg 或 .png 文件的线条。为此,我使用 python 的 turtle 方法将我的 Canvas 导出到一个 postscript 文件:
pen.getcanvas().postscript(file="grafica.ps")
pen 只是我的 turtle 的一个奇特的名字。
我得到了我的 .ps 文件,我将其转换并......惊喜!图像被剪切。
我尝试了一些修改,例如:
pen.getcanvas().postscript(file="grafica.ps", colormode='color', pagewidth=1600, pageheight=1200, width=1600, height=1200)
因为我的 turtle 的窗口是 800x600,所以我认为可能两倍的空间就足以容纳所有图像,但它仍然被缩小了...
我正在发布一些转换后的输出示例,我的 turtle 屏幕在保存时的样子,以及导出时的样子。
保存图像时的窗口: (是的, Canvas 有 slider )
它应该是什么样子:
这就是我得到的:
我想知道我应该如何调用 postscript(),知道吗?
我不想在 WxPython 或其他库上再次编写代码:(
谢谢!
请您参考如下方法:
这可能是 ImageMagick 与 EPS 文件的边界框交互时出现的问题。我在 Windows 上处理 .eps 文件的典型工作流程可能有点复杂,但它确实有效。类似的事情应该适用于 Linux。安装GhostScript (您必须确保 GhostScript 可执行文件在您的路径上),然后使用带有 -dEPSCrop 选项的命令行中的 ps2pdf 实用程序:
ps2pdf -dEPSCrop input.eps output.pdf.
然后,使用 ImageMagick 将 PDF 转换为其他格式,例如PNG
convert output.pdf output.png
您可以通过 ImageMagick 控制 PNG 分辨率等。就像我说的,令人费解,但它有效。
