screenshare/venv/lib/python3.12/site-packages/pyscreenshot/tempexport.py
2024-11-29 18:15:30 +00:00

29 lines
647 B
Python

import os.path
from tempfile import TemporaryDirectory
from easyprocess import EasyProcess
from PIL import Image
class RunProgError(Exception):
pass
def read_func_img(func, bbox=None):
with TemporaryDirectory(prefix="pyscreenshot") as tmpdirname:
filename = os.path.join(tmpdirname, "screenshot.png")
func(filename, bbox)
im = Image.open(filename)
return im
def read_prog_img(cmd):
def run_prog(filename, bbox=None):
p = EasyProcess(cmd + [filename])
p.call()
if p.return_code != 0:
raise RunProgError(p.stderr)
im = read_func_img(run_prog)
return im