Skip to content

Commit

Permalink
Merge pull request #6152 from radarhere/screencapture
Browse files Browse the repository at this point in the history
Use screencapture arguments to crop on macOS
  • Loading branch information
hugovk committed Mar 27, 2022
2 parents 96a9776 + dd2b91c commit fa6e18a
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions src/PIL/ImageGrab.py
Expand Up @@ -30,14 +30,18 @@ def grab(bbox=None, include_layered_windows=False, all_screens=False, xdisplay=N
if sys.platform == "darwin":
fh, filepath = tempfile.mkstemp(".png")
os.close(fh)
subprocess.call(["screencapture", "-x", filepath])
args = ["screencapture"]
if bbox:
left, top, right, bottom = bbox
args += ["-R", f"{left},{right},{right-left},{bottom-top}"]
subprocess.call(args + ["-x", filepath])
im = Image.open(filepath)
im.load()
os.unlink(filepath)
if bbox:
im_cropped = im.crop(bbox)
im_resized = im.resize((right - left, bottom - top))
im.close()
return im_cropped
return im_resized
return im
elif sys.platform == "win32":
offset, size, data = Image.core.grabscreen_win32(
Expand Down

0 comments on commit fa6e18a

Please sign in to comment.