我在画布上用这些函数绘制小圆圈:
这是绘制圆圈的功能:
class Fourmis:
def __init__(self, can, posx, posy, name, radius):
self.can = can
self.largeur_can = int(self.can.cget("width"))
self.hauteur_can = int(self.can.cget("height"))
self.posx = posx
self.posy = posy
self.name = name
self.radius = radius
self.ball1 = self.can.create_oval(self.posy, self.posx, self.posy+radius, self.posx+radius, outline=self.name, fill=self.name, width=2)
self.nx = randrange(-10,10,1)
self.nx /= 2.0
self.ny = randrange(-10,10,1)
self.ny /= 2.0
#self.can.bind("<Motion>", self.destruction, add="+")
self.statut = True
self.move()
def move(self):
if self.statut == True :
self.pos_ball = self.can.coords(self.ball1)
self.posx_ball = self.pos_ball[0]
self.posy_ball = self.pos_ball[1]
if self.posx_ball < 0 …Run Code Online (Sandbox Code Playgroud) 有人知道是否可以在不使用 un 对象的情况下更改画布中像素的颜色,因此不使用类似canvas.create_oval或 之类的东西canvas.create_rectangle?
我有这个代码,如果他附近有其他东西,他会创建一个矩形说:
def creaRect(event):
#rect = Rectangle.Rectangle(canvas, event, CanWidth=Width, CanHeight=Height)
width, height = 25, 25
x, y = event.x, event.y
x1 = int(x-width/2)
y1 = int(y-height/2)
x2 = int(x+width/2)
y2 = int(y+height/2)
rect = canvas.create_rectangle((x1, y1, x2, y2), outline="red", width=1, tags="bloc")
Rectangle.OidRect.append(rect)
near = canvas.find_closest(x, y, 200)
print(len(near))
Run Code Online (Sandbox Code Playgroud)
但是find_closest返回的元组的长度是每次1,而我在同一个位置创建许多矩形或者非常接近.对我来说,find_closest应该返回一个元组,其中包含x,y坐标周围所有项目的id,范围为200.这是我不理解或做错的事情吗?
所以我想在画布上放一个.jpg,我在互联网上找到的就是使用PIL,但我使用的是Python 3.2,所以PIL不起作用.如何使用Python 3.2在画布中插入.jpg?