官方文档描述可以使用layers来设置渲染元素的遮挡
canvas.layer(name, above=None, below=None)
此方法创建或获取名称为 name 的图层。
图层本身就是一个画布,可用于组合绘图操作以用于排序目的,即,彼此上方和下方。图层名称名称是一个点分字符串,其中点用于形成图层组的层次结构。当插入一个图层时,它被放在其图层组的顶部,除非该组的另一个图层实例通过上面或下面的参数指定。
好吧,我尝试了以下方法:
c = canvas.canvas().layer("top")
t = canvas.canvas().layer("bot", below="top")
t = canvas.canvas().layer("bot", below=c)
t = canvas.canvas().layer("bot", below=0)
他们都返回了一些错误。例如字符串版本:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pyx/canvas.py", line 296, in layer
group, layer = name.split(".", 1)
ValueError: not enough values to unpack (expected 2, got 1)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "EdgeRefining/refine_edges.py", line 174, in <module>
t = canvas.canvas().layer("bot", below="top")
File "/usr/lib/python3/dist-packages/pyx/canvas.py", line 312, in layer
self.items.insert(self.items.index(self.layers[below]), self.layers[name])
KeyError: 'top'
有人用过这个功能吗?