如何使用 tkinter canvas 绘制一个完美的正方形?
How to draw a perfect square using tkinter canvas?
I want to create a square on mouse drag. I can only create rectangles with
canvas.create_rectangle(oldX,oldY , newX , newY,fill = 'red',outline = "")
有什么方法可以只创建正方形吗?
您可以使用宽度和高度的最大值或最小值作为正方形的大小:
dx, dy = newX-oldX, newY-oldY
signx = 1 if dx >= 0 else -1
signy = 1 if dy >= 0 else -1
# user either min() or max() in below statement
size = max(abs(dx), abs(dy))
canvas.create_rectangle(oldX, oldY, oldX+size*signx, oldY+size*signy, fill='red', outline='', tag='rect')
I want to create a square on mouse drag. I can only create rectangles with
canvas.create_rectangle(oldX,oldY , newX , newY,fill = 'red',outline = "")
有什么方法可以只创建正方形吗?
您可以使用宽度和高度的最大值或最小值作为正方形的大小:
dx, dy = newX-oldX, newY-oldY
signx = 1 if dx >= 0 else -1
signy = 1 if dy >= 0 else -1
# user either min() or max() in below statement
size = max(abs(dx), abs(dy))
canvas.create_rectangle(oldX, oldY, oldX+size*signx, oldY+size*signy, fill='red', outline='', tag='rect')