Canvas có hai hệ tọa độ: cửa sổ (window) và canvas. Để chuyển từ tọa độ cửa sổ (event.x, event.y) sang tọa độ canvas, dùng canvas.canvasx(event.x) và canvas.canvasy(event.y).
Ví dụ minh họa
from tkinter import *
win = Tk()
win.geometry("700x350")
canvas = Canvas(win)
canvas.pack()
def on_button_pressed(event):
start_x = canvas.canvasx(event.x)
start_y = canvas.canvasy(event.y)
print("start_x, start_y =", start_x, start_y)
def on_button_motion(event):
end_x = canvas.canvasx(event.x)
end_y = canvas.canvasy(event.y)
print("end_x, end_y =", end_x, end_y)
canvas.bind("", on_button_pressed)
canvas.bind("", on_button_motion)
Label(win, text="Di chuyển chuột và click vào Canvas").pack()
win.mainloop()
Kết quả đầu ra
Cửa sổ Canvas.

Click chuột in ra tọa độ canvas.
start_x, start_y = 340.0 159.0