在 tkinter 中有没有办法绘制平滑的曲线?

In tkinter is there a way to draw a smoothed out curved line?

以下提供的行来自the tkdocs website

A line item can actually be a series of line segments, not just one; in our example, we could have chosen to use a single line item for each complete stroke. The line can also be drawn directly point-to-point, or smoothed out into a curved line.

文档最后指出“一条线(在 tkinter canvas 上)可以直接点对点绘制,或者平滑成一条曲线。”。但是我还没有找到办法做到这一点。


编辑:

我的项目中使用的全部代码太大且无关紧要,无法提供,但下面给出其中的一小部分,与上述问题有关。希望下面的代码可以帮助描述我到目前为止所做的尝试。

def clear_prev_draw_coords(event = None) :
    global last_draw_x, last_draw_y, pen_color, pen_size

    last_draw_x, last_draw_y = None, None
    drawing_coord_list.clear()
    return

def draw() :
    last_img_x = 0
    last_img_y = 0
    canvas.create_line(last_draw_x, last_draw_y, x2, y2, fill = pen_color, width = pen_size, tag = tag, smooth = 1)

    last_draw_x, last_draw_y = x2, y2
    return

def toggle_pen_mode(dummy = None) :
    global mode

    mode = 'pen'

    root.bind("<B1-Motion>", draw)
    root.bind("<ButtonRelease-1>", clear_prev_draw_coords)
    return

你读过effbot了吗?您可以在 lot 中找到有关所有可能的标志和选项的信息。这个迷你示例创建了一条带有 smooth-flag 的曲线:

from tkinter import *

master = Tk()

w = Canvas(master, width=200, height=100)
w.pack()

w.create_line(150,0, 100,50, 50,0, 0,50, smooth=1)

mainloop()