我正在用画布在tkinter中创建一个简单的CAD应用程序。空心圆柱体是使用两个椭圆形对象创建的,如下面的示例代码所示。内圆/椭圆形与画布背景具有相同的填充效果,从而产生一种中空物体的错觉。在
如果我在另一个填充不同的对象上绘制圆柱体(如矩形所示),空心效果将丢失。在
不可能知道将在画布上创建的每个对象的颜色,或者用户可能在某个点创建一个圆柱体,并将其移动到不同的位置/在具有不同填充颜色的不同对象上。在
在这种情况下,如何创建空心对象?在
样本代码:import Tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=350, background="RoyalBlue4")
canvas.pack()
#Plot on the canvas
def cylinder(OD, ID):
canvas.create_oval(OD, outline="black", fill="SkyBlue1")
canvas.create_oval(ID, outline="black", fill="RoyalBlue4")
def rectangle(dim):
canvas.create_rectangle(dim, outline="black", fill="white")
rectangle([10, 10, 250, 150])
cylinder([75, 30, 175, 130], [85, 40, 165, 120])
cylinder([150, 200, 250, 300], [175, 225, 225, 275])
root.mainloop()