0
任何人都可以幫助我如何使用ImageTk調整圖像大小?調整圖像大小並將其適應Canvas大小[Tkinter | PhotoImage]
我有一個畫布,我會把圖片放在那裏。
我有各種不同的照片=不同尺寸的所有圖片
當我附上在畫布上的圖片(只有一個),我希望畫面的大小來調整,使其適合在畫布上,並它仍然會保持其比例。
請幫幫我!我是PIL,Tkinter和Python中的新成員。
更新:
我使用Image
下thumbnail
嘗試,但在調整:
self.image.thumbnail(self.picsize,Image.ANTIALIAS)
圖像不配合畫布大小,如果圖像比帆布長/寬,它只是切。 (不調整大小以裝配到畫布)
代碼:
from PIL import ImageTk
from Tkinter import *
import os,tkFileDialog,Image
picsize = 250,250 # I want to set this so that it will fit in the self.imagecanvas | Every images attached will share same Size
imagepath = "Default_ProPic.jpg"
class GUI():
global picsize
def display(self):
self.canvas = Canvas(width=1200,height=700)
self.canvas.pack()
self.imagecanvas = Canvas(self.canvas,width=400,height=400)
self.imagecanvas.place(x=980,y=180)
self.image = Image.open(imagepath)
self.image.thumbnail(picsize,Image.ANTIALIAS)
self.newimage = ImageTk.PhotoImage(self.image)
self.profile_picture=self.imagecanvas.create_image(0,0,anchor = NW,image=self.newimage)
attachbutton = Button(self.canvas,text=" Profile Pic ",command=lambda:self.attachpic())
attachbutton.place(x=1030,y=320)
mainloop()
def attachpic(self):
global picsize
attachphoto = tkFileDialog.askopenfilename(title="Attach photo")
self.image = Image.open(attachphoto)
self.image.thumbnail(picsize,Image.ANTIALIAS)
self.newimage = ImageTk.PhotoImage(self.image)
self.imagecanvas.itemconfigure(self.profile_picture, image=self.newimage)
GUI = GUI()
GUI.display()
圖片上面使用:
這裏是[在Tkinter中實現的幻燈片應用程序。它調整圖像大小以適應應用程序內部。窗口(https://gist.github.com/zed/8b05c3ea0302f0e2c14c) – jfs