0

初学者在 Python 3.8.1 中使用 PyX 的问题。

我正在创建一个 EPS 文件,并且希望画布尺寸为 70 mm x 70 mm。我怎样才能做到这一点?

from pyx import *
# build and size canvas
c = canvas.canvas()
c.fill(path.circle(2.5, 1.5, 0.5))
c.writeEPSfile("my-output")
print("Done!")

我得到的 .eps 文件是我添加的元素的大小,但我希望它是一个 70 毫米的正方形。任何帮助表示赞赏!

4

2 回答 2

0

谢谢,这很好用!我的图像方向不同,所以我最终得到:

if blnFlip == True:
        MasterCanvas.items[i].writeEPSfile("my_output", page_bbox=bbox.bbox(llx_pt=-CanvasSizeCm, lly_pt=-CanvasSizeCm, urx_pt=0, ury_pt=0))
else:
        MasterCanvas.items[i].writeEPSfile("my_output", page_bbox=bbox.bbox(llx_pt=0, lly_pt=-CanvasSizeCm, urx_pt=CanvasSizeCm, ury_pt=0))
于 2020-02-12T02:11:57.057 回答
0

边界框是page(参见document.page)的一个属性。在writeEPSfile方法页面参数可以通过page_前缀设置(参见writeEPSfile 文档),因此以下代码创建请求的输出:

from pyx import *
from pyx import bbox
# build and size canvas
c = canvas.canvas()
c.fill(path.circle(2.5, 1.5, 0.5))
c.writeEPSfile("my-output", page_bbox=bbox.bbox(0, 0, 7, 7))
print("Done!")

请注意,该bbox模块不是由 导入的默认模块名称的一部分*,因此需要第二个导入行。

于 2020-02-11T02:36:39.873 回答