Скриншот рабочего окна tkinter python

Как сделать скриншот рабочей области, которая сгенерировалась с помощью библиотеки tkinter?


Ответы (2 шт):

Автор решения: Victor VosMottor thanks Monica

pip3 install pyscreenshot

from pyscreenshot import grab

im = grab(bbox=(100, 200, 300, 400))
im.show()


pip3 install pillow

from PIL import ImageGrab
snapshot = ImageGrab.grab()
save_path = "your/save/path"
snapshot.save(save_path)


pip3 install pyautogui

import pyautogui
screenshot = pyautogui.screenshot('path/to/file.png')
→ Ссылка
Автор решения: FotonPC

Можно так, с помощью tkinter и pillow:

import tkinter as tk
from tkinter import filedialog as fd
from PIL import ImageGrab

root = tk.Tk()
def make_screenshot():
    otx, oty = map(int, root.geometry().split('+')[1:])
    width = int(root.geometry().split('x')[0]) + 50
    height = int(root.geomtry().split('+')[0].split('x')[1]) + 3
    scr = ImageGrab.grab(bbox = (otx, oty, otx+width, oty+height))
    path = fd.asksaveasfilename()
    src.save(path)
tk.Button(root, text = 'Сделать скриншот', command = make_screenshot).pack()
root.mainloop()
    
    
→ Ссылка