如何调整图像大小以适合Tkinter画布

时间:2018-12-08 09:20:08

标签: python python-3.x python-2.7 raspberry-pi raspbian

我想调整图像大小以适合我的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()

0 个答案:

没有答案