Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để chụp ảnh màn hình cửa sổ bằng Python? (Tkinter)

Python có một thư viện phong phú các mô-đun và chức năng cho phép chúng ta xây dựng và phát triển các ứng dụng nổi bật. Tkinter là một thư viện Python nổi tiếng được sử dụng để tạo các ứng dụng dựa trên GUI. Nếu chúng ta muốn phát triển một ứng dụng chụp ảnh màn hình cửa sổ, thì chắc chắn chúng ta có thể sử dụng Tkinter để xây dựng GUI của ứng dụng. Các giai đoạn sau của ứng dụng sẽ giúp biết ứng dụng của chúng tôi hoạt động như thế nào,

  • Thư viện bắt buộc - Pillow (PIL) để xử lý hình ảnh, mô-đun thời gian bằng Python để ngẫu nhiên hóa tên tệp và xử lý kỷ nguyên.

  • Tạo tiện ích Nhãn trong cửa sổ và thêm Nút để chụp ảnh màn hình.

  • Xác định một chức năng, ảnh chụp màn hình () , điều đó sẽ chụp ảnh màn hình của cửa sổ và lưu tệp vào thư mục cục bộ.

  • Để ngăn cửa sổ Tkinter chụp ảnh màn hình cũng như trong hình ảnh, chúng tôi có thể sử dụng rút lại () chức năng thu hồi hình ảnh.

Ví dụ

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

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

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

# Define a function for taking screenshot
def screenshot():
   random = int(time.time())
   filename = "C:/Users/Sairam/Documents/" \ + str(random) + ".jpg"
   ss = pg.screenshot(filename)
   ss.show()
   win.deiconify()

def hide_window():
   # hiding the tkinter window while taking the screenshot
   win.withdraw()
   win.after(1000, screenshot)

# Add a Label widget
   Label(win, text="Click the Button to Take the Screenshot", font=('Times New Roman', 18, 'bold')).pack(pady=10)

# Create a Button to take the screenshots
button = Button(win, text="Take Screenshot", font=('Aerial 11 bold'), background="#aa7bb1", foreground="white", command=hide_window)
button.pack(pady=20)

win.mainloop()

Đầu ra

Chạy đoạn mã trên sẽ hiển thị một cửa sổ chứa một nút và một văn bản Nhãn.

Làm cách nào để chụp ảnh màn hình cửa sổ bằng Python? (Tkinter)

Khi chúng tôi nhấp vào nút, nó sẽ chụp ảnh màn hình của cửa sổ và lưu vào thư mục cục bộ.

Làm cách nào để chụp ảnh màn hình cửa sổ bằng Python? (Tkinter)