如何使用 python windows 将屏幕的可裁剪 png 图像保存到桌面?

How do you save a croppable png image of your screen to your desktop using python windows?

我无法使用 python 将全屏 image/screenshot 保存到我的桌面。我试过了

from PIL import ImageGrab
import os
img = img.crop((10, 10, 650, 2000))
mageGrab.grab().save(r"screen_capture.png")
stuffs = process_image(Image.open(r"C:\Users\jacro\pycharmprojects\untitled\screen_capture.png"))
stuffs.save(SCREEN_DIR + r"\screen.png")

但是附上图片。当我也以不同方式裁剪最后一个参数时,就会发生这种情况。请帮助。

image 1

我假设您需要将屏幕截图裁剪到所需的大小。如果您使用的是静态值,则需要小心,因为值可能会随分辨率而变化。您可以按如下方式静态地执行此操作(重新排列您的值)。

img2 = img.crop((0, -1000, 2000, 650))

但是,首选方法是动态计算裁剪坐标。 像下面的例子 ( Inspiration from here )

from PIL import ImageGrab,Image
import os

ImageGrab.grab().save(r"screen_capture.png")
img = Image.open(r".//screen_capture.png")
image_width = img.size[0]
image_height = img.size[1]
horizontal_padding = (max(img.size) - image_width) / 2  #horizontal center 
vertical_padding = (max(img.size) - image_height) / 2    #vertical center

img3 = img.crop(
    (   -horizontal_padding,
        -vertical_padding,
        image_width + horizontal_padding,
        image_height + vertical_padding
    ))
img3.save("img3.png")

中央裁剪屏幕截图