我想调整图像大小以适合我的Tkinter画布。此时,如果图像较大,则画布仅显示图像的一部分。我希望将整个图像放大或缩小以始终适合画布。
这是我的简单代码
from tkinter import *
from datetime import datetime
import tkinter,MySQLdb,tkFont,datetime,time,tkMessageBox,socket
x_position= 435
y_position= 335
canvas_width = 1300
canvas_height =850
colours = ("#476042", "yellow","red","blue")
class Master_Qm(tkinter.Tk):
def __init__(self,parent):
tkinter.Tk.__init__(self,parent)
self.parent = parent
self.initialize()
def initialize(self):
self.grid()
self.canvas = Canvas(self,
width=canvas_width,
height=canvas_height)
self.canvas.grid(row=0,column=0)
self.img = PhotoImage(file="C:\Users\Desktop\image.ppm")
self.canvas.create_image(0,0, anchor=NW, image=self.img)
indication = self.canvas.create_oval(x_position,y_position,x_position+50,y_position+50,fill=colours[2])
self.grid_columnconfigure(0,weight=1)
self.grid_columnconfigure(1,weight=1)
self.grid_columnconfigure(2,weight=1)
self.grid_columnconfigure(3,weight=1)
self.grid_rowconfigure(0,weight=1)
self.grid_rowconfigure(1,weight=1)
self.grid_rowconfigure(2,weight=1)
self.grid_rowconfigure(3,weight=1)
self.grid_rowconfigure(4,weight=1)
self.grid_rowconfigure(5,weight=1)
if __name__ == "__main__":
window = Master_Qm(None)
window.title("Intelligent Queue Management System")
window.configure(background="AntiqueWhite2")
window.mainloop()