我使用Python中的svgwrite
库,因为svg的y轴向下,而我发现向上更方便,所以我定义了一个函数YInvert
,它为我实现了这个技巧。但是,每次使用svgwrite
中的函数时都必须使用此函数,例如:
dwg.line((xI,YInvert(yI)), (xII,YInvert(yII)), stroke='blue', stroke_width=0.1)
然而,这是不舒服的。如何重新定义函数dwg.line
(或者定义一些新函数LineNew
)来自动包含YInvert
?我希望论点的形式相同,我的意思是我可以使用:
dwg.line((xI,yI), (xII,yII), stroke='blue', stroke_width=0.1)
或者
LineNew((xI,yI), (xII,yII), stroke='blue', stroke_width=0.1)
我也使用例如
dwg.circle(center=(10,YInvert(10)), r=0.2, fill='black')
因此,我正在寻找适用于各种参数的方法,只需在正确的位置添加YInvert
函数。你知道吗
这里有一个装饰方法。坐标检测不是很聪明,你可能想磨练一下:
演示:
这也可以应用于已定义的函数,如库函数:
相关问题 更多 >
编程相关推荐