2016-04-20 31 views
2

正確地使圖像適合我的標籤時遇到了一些麻煩。 我使用硒去一個網站並拍照,然後我想在我的標籤中顯示這張照片。tkinter和圖像。使圖像適合標籤

它成功地拍攝並顯示它,但它的尺寸都搞砸了。我希望圖片保持原始尺寸,但會縮小圖片以適合框架。

有什麼辦法可以做到這一點,使其看起來不錯?

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from tkinter import * 
from PIL import Image 
from PIL import ImageTk 
from _tkinter import create 

driver = webdriver.PhantomJS(executable_path=r'C:\Users\Rasmus\Desktop\phantomjs-2.1.1-windows\bin\phantomjs.exe') 
driver.get('http://www.mtggoldfish.com/metagame/modern#online') 

driver.find_element_by_class_name 

driver.save_screenshot('screeniess.png') 
driver.close() 

class App(Frame): 

    def __init__(self, master): 
     self.frame = Frame(master) 
     self.frame.pack() 
     self.createWidgets() 

    def createWidgets(self): 
     self.frameBilled = Frame(self.frame, background="#c0c0c0", width=600, height= 350) 
     self.frameBilled.pack() 

     im_temp = Image.open("screeniess.png") 
     im_temp = im_temp.resize((600, 350), Image.ANTIALIAS) 
     im_temp.save("ArtWrk.ppm", "ppm") 
     self.photo = PhotoImage(file="artwrk.ppm") 
     self.labelBilled = Label(self.frameBilled, image=self.photo) 
     self.labelBilled.photo = self.photo 
     self.labelBilled.pack() 

root = Tk() 
root.title("Application") 
root.geometry("600x800") 
root.resizable(0,0) 
app = App(root) 
root.mainloop() 

編輯:我認爲這可能是Selenium不採取全屏截圖。如果我手動將圖片插入到我的標籤中,它會正確適合。

+0

它的工作原理與您的源代碼在我的計算機上所說的完全相同。如果你想保留圖像的原始大小,那麼你不應該調整它的大小。 – etuc

回答

1

必須使用driver.maximize_window()