我正在使用python创建一个绘图程序。我目前在使用圆形工具时遇到了困难。基本上,我希望用户能够通过将它们从画布上的静止点拖出来创建实心圆,就像在任何绘图程序中一样。我目前收到此错误:
Traceback(最近一次调用最后一次):文件 “C:\ Users \ Wisdom1 \ Desktop \ Comp Science Files \ Canvas.py”,第168行,in draw.circle(screen,(c),(int(x),int(y)),(int(mx-x),int(my-y)),0)TypeError:需要一个整数。
我不确定我的圆圈代码是否完全正确,如果有更有效的方法来完成此工具,请告诉我。非常感谢任何有关错误的帮助。这是我的代码: `
`if mb[0] == 1 and canvas.collidepoint(mx,my):
screen.set_clip(canvas)
if tool == "ellipse":
screen.blit(copy,(0,0))
draw.circle(screen,(c),(int(x),int(y)),(int(mx-x),int(my-y)),0)
screen.set_clip(None)
顺便说一下,我的事件循环中也有鼠标位置。
答案 0 :(得分:0)
draw.circle()
期望的参数是:
circle(Surface, color, pos, radius, width=0)
您的Surface
,color
,pos
和width
参数看起来不错,但对于radius
,您有一个双元素元组:{{1} }。你想要的是一个代表圆的半径的数字。我无法从你的代码中看出半径应该是多少,但你需要用单个值替换该元组。要测试它,您可以使用20之类的数字对其进行硬编码:
(int(mx-x),int(my-y))