2014-06-10 3 views
0

확인 그래서 학교 프로젝트에 전체 이미지를 표시하려고는 Tkinter를

이 코드 조각의 목표는 단지 ​​GIF의 섹션을 표시 20 초

출력에 대한 450x450 GIF를 표시하는 것입니다

photo = tkinter.PhotoImage(file = './Images/img1.gif') 
    root.geometry("450x450") 
    root.update() 
    img = canvas.create_image(225,225, image=photo) 
    root.after(20000, lambda: canvas.delete(img)) 
    root.mainloop() 

내가 알고있는 것부터 기하학은 창 크기를 정의하고 img의 좌표는 가운데 위치를 정의합니다.

현재 결과는 http://i.stack.imgur.com/PSCce.png

원하는 결과가 http://imgur.com/zeDMacO

답변

0

캔버스를 전체 창으로 확장하십시오.

import Tkinter as tkinter 

root = tkinter.Tk() 

canvas = tkinter.Canvas(root) 
canvas.pack(fill=tkinter.BOTH, expand=1) # expand 

photo = tkinter.PhotoImage(file = 'img1.gif') 
root.geometry("450x450") 
root.update() 

img = canvas.create_image(225,225, image=photo) 
#root.after(20000, lambda: canvas.delete(img)) 

root.mainloop() 

enter image description here

+0

감사합니다 친구! 이 프로젝트는 정말로 시간에 민감합니다. 이것은 아주 큰 수정입니다. – Photonium

0

당신은 0,0 좌표, 또는 "고 말했다 캔버스를 확장 furas처럼 '북서'로 이미지를 고정하고 설정할 수 있습니다입니다 전체 창으로 ". 예를 들어이 코드를 사용하면 전체 디스플레이를 가져올 수 있습니다.

from tkinter import * 

root = Tk() 
root.geometry('300x300') 

photo = PhotoImage(file = './Images/img1.gif') 
root.geometry("450x450") 
root.update() 

canvas = Canvas(root) 
canvas.pack(expand=YES, fill=BOTH) 

img = canvas.create_image(0,0, anchor="nw", image=photo) 
root.after(20000, lambda: canvas.delete(img)) 


root.mainloop()