Python中的Paint工具

时间:2014-01-03 01:59:53

标签: python int pygame paint geometry

我正在使用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)

顺便说一下,我的事件循环中也有鼠标位置。

1 个答案:

答案 0 :(得分:0)

draw.circle()期望的参数是:

circle(Surface, color, pos, radius, width=0)

您的Surfacecolorposwidth参数看起来不错,但对于radius,您有一个双元素元组:{{1} }。你想要的是一个代表圆的半径的数字。我无法从你的代码中看出半径应该是多少,但你需要用单个值替换该元组。要测试它,您可以使用20之类的数字对其进行硬编码:

(int(mx-x),int(my-y))