问题描述
我的目标是:
import tkinter as tk
from PIL import Image,ImageTk
class MainWindow:
def __init__(self):
self.mainwindow = tk.Tk()
#self.pack(expand=Y,fill=BOTH)
self.img = Image.open('D:/Desert.jpg')
self.outer_image = ImageTk.PhotoImage(self.img)
self.outer_canvas = tk.Canvas(self.mainwindow,width=600,height=400)
self.outer_canvas.create_image(0,anchor=tk.NW,image = self.outer_image)
self.outer_canvas.pack(fill=tk.BOTH)
self.inner_canvas = tk.Canvas(self.outer_canvas,width=100,height=100)
# Placing inner_canvas inside the outer_canvas to hold crop image from outer canvas
self.outer_canvas.create_window(0,window=self.inner_canvas)
self.crop_image = self.img.crop((300,300,400,400))
self.img = ImageTk.PhotoImage(self.crop_image)
self.inner_canvas.create_image(0,image = self.img)
# Add event to inner_canvas so that it can move around outer canvas
self.inner_canvas.bind('<ButtonPress-1>',self.on_mouse_down_inner_canvas)
self.inner_canvas.bind('<B1-Motion>',self.on_mouse_drag_inner_canvas)
def on_mouse_down_inner_canvas(self,event):
self.lastx = event.x
self.lasty = event.y
def on_mouse_drag_inner_canvas(self,event):
self.outer_canvas.move(tk.CURRENT,event.x - self.lastx,event.y - self.lasty)
self.lastx = event.x
self.lasty = event.y
if __name__ == "__main__":
root = MainWindow()
和GUI了解
有人可以帮助我摆脱这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)