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

저장하지 않고 Python Tkinter 창에 이미지/스크린샷을 표시하는 방법은 무엇입니까?

<시간/>

Tkinter는 GUI 기반 응용 프로그램을 만들고 개발하는 데 사용되는 표준 Python 라이브러리입니다. 이미지를 표시하기 위해 PIL 또는 Pillow 라이브러리를 사용합니다.

창의 스크린샷을 찍고 캡처한 이미지를 다른 창에 표시하는 응용 프로그램을 만들고 싶다고 가정해 보겠습니다. 이를 달성하기 위해 다음 단계를 따를 수 있습니다 -

  • 필요한 라이브러리를 가져옵니다.

  • 스크린샷을 찍을 수 있는 범용 버튼을 만드세요.

  • 스크린샷을 찍을 함수를 정의합니다.

  • 주어진 함수에서 coords를 정의합니다. 및 지역 이를 통해 스크린샷을 찍고자 합니다.

  • 최상위 창을 만들고 그 안에 레이블 이미지를 정의합니다.

  • 위젯을 압축하고 출력 이미지를 표시합니다.

예시

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

# Create an instance of tknter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")


# Define a function to take the screenshot
def take_screenshot():
   x = 500
   y = 500
   # Take the screenshot in the given corrds
   im1 = pyautogui.screenshot(region=(x, y, 700, 300))

   # Create a toplevel window
   top = Toplevel(win)
   im1 = ImageTk.PhotoImage(im1)

   # Add the image in the label widget
   image1 = Label(top, image=im1)
   image1.image = im1
   image1.place(x=0, y=0)

Button(win, text='Take ScreenShot', command=take_screenshot).pack(padx=10, pady=10)

win.mainloop()

출력

코드를 실행하면 스크린샷을 찍을 수 있는 버튼이 있는 창이 표시됩니다.

저장하지 않고 Python Tkinter 창에 이미지/스크린샷을 표시하는 방법은 무엇입니까?

이제 "스크린샷 찍기" 버튼을 클릭하면 좌표(x=500, y=500)에서 시작하여 너비 700픽셀, 높이 300픽셀의 화면이 캡처됩니다.

저장하지 않고 Python Tkinter 창에 이미지/스크린샷을 표시하는 방법은 무엇입니까?