失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python tkinter画布设置按钮对图片放大缩小_使用Tkinter画布小部件添加放大和缩小?...

python tkinter画布设置按钮对图片放大缩小_使用Tkinter画布小部件添加放大和缩小?...

时间:2019-11-28 07:27:00

相关推荐

python tkinter画布设置按钮对图片放大缩小_使用Tkinter画布小部件添加放大和缩小?...

小编典典

据我所知,内置的Tkinter Canvas类缩放不会自动缩放图像。如果无法使用自定义窗口小部件,则可以缩放原始图像,并在调用缩放功能时将其替换在画布上。

下面的代码片段可以合并到您的原始类中。它执行以下操作:

缓存的结果Image.open()。

添加了一个redraw()计算缩放图像的功能,并将其添加到画布上,还删除了先前绘制的图像(如果有)。

将鼠标坐标用作图像放置的一部分。我只是传递x and y给该create_image函数以显示图像位置如何随着鼠标移动而移动。您可以将其替换为自己的中心/偏移量计算。

这使用了Linux鼠标滚轮按钮4和5(您需要将其通用化才能在Windows等系统上使用)。

(已 更新 )代码:

class GUI:

def __init__(self, root):

# ... omitted rest of initialization code

self.canvas.config(scrollregion=self.canvas.bbox(ALL))

self.scale = 1.0

self.orig_img = Image.open(File)

self.img = None

self.img_id = None

# draw the initial image at 1x scale

self.redraw()

# ... rest of init, bind buttons, pack frame

def zoom(self,event):

if event.num == 4:

self.scale *= 2</

如果觉得《python tkinter画布设置按钮对图片放大缩小_使用Tkinter画布小部件添加放大和缩小?...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。