1
目前我的应用程序中有一个缩放功能,效果很好,但是我希望实际缩放框是一个圆形。下面是目前变焦的样子: 创建圆形图像PIL Tkinter
放大后的矩形是当鼠标指针位置,和周围的区域被放大,但我怎么能做出这种放大对象的圆,而不是一个正方形?这里是我的代码:
def zoom(self, event):
if(event.delta > 0):
if self.zoomValue != 4 : self.zoomValue += 1
elif(event.delta < 0):
if self.zoomValue != 0 : self.zoomValue -= 1
self.crop(event)
def crop(self, event):
if self.zimg_id: self.canvasLower.delete(self.zimg_id)
if (self.zoomValue) != 0:
x, y = event.x, event.y
if self.zoomValue == 1:
tmp = self.orig_img.crop((x-45, y-30, x+45, y+30))
elif self.zoomValue == 2:
tmp = self.orig_img.crop((x-30, y-20, x+30, y+20))
elif self.zoomValue == 3:
tmp = self.orig_img.crop((x-15, y-10, x+15, y+10))
elif self.zoomValue == 4:
tmp = self.orig_img.crop((x-6, y-4, x+6, y+4))
size = 200, 200
# crop tmp somehow to make the image a circle? maybe?
self.zimg = ImageTk.PhotoImage(tmp.resize(size))
self.zimg_id = self.canvasLower.create_image(event.x, event.y, image=self.zimg)
请问您的图像有一个alpha通道?通常圆形图像只是角落透明的方形图像。 – ballsatballsdotballs