Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tkinter에서 배경 이미지를 창 크기로 조정하는 방법은 무엇입니까?

<시간/>

이미지 작업을 위해 Python 라이브러리는 응용 프로그램이 이미지를 가져와 다양한 작업을 수행할 수 있도록 하는 Pillow 또는 PIL 패키지를 제공합니다.

이미지의 크기를 창에 맞게 동적으로 조정한다고 가정해 보겠습니다. 이러한 경우 다음 단계를 따라야 합니다 -

  • Tkinter 애플리케이션에서 이미지를 엽니다.

  • 캔버스 위젯을 만들고 create_image(**options) 사용 로드된 이미지를 캔버스에 배치합니다.

  • 로드된 이미지의 크기를 조정하는 함수를 정의합니다.

  • 함수를 부모 창 구성과 바인딩합니다.

# Import the required libraries
from tkinter import *
from PIL import ImageTk, Image

# Create an instance of Tkinter Frame
win = Tk()

# Set the geometry of Tkinter Frame
win.geometry("700x450")

# Open the Image File
bg = ImageTk.PhotoImage(file="tutorialspoint.png")

# Create a Canvas
canvas = Canvas(win, width=700, height=3500)
canvas.pack(fill=BOTH, expand=True)

# Add Image inside the Canvas
canvas.create_image(0, 0, image=bg, anchor='nw')

# Function to resize the window
def resize_image(e):
   global image, resized, image2
   # open image to resize it
   image = Image.open("tutorialspoint.png")
   # resize the image with width and height of root
   resized = image.resize((e.width, e.height), Image.ANTIALIAS)

   image2 = ImageTk.PhotoImage(resized)
   canvas.create_image(0, 0, image=image2, anchor='nw')

# Bind the function to configure the parent window
win.bind("<Configure>", resize_image)
win.mainloop()
을 구성합니다.


출력

위의 코드를 실행하면 동적으로 크기를 조정할 수 있는 이미지가 포함된 창이 표시됩니다.

Tkinter에서 배경 이미지를 창 크기로 조정하는 방법은 무엇입니까?