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

时间:2018-01-18 04:53:58

标签: python windows screenshot

我无法使用python将全屏图像/屏幕截图保存到我的桌面。我试过了

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")

但请附上照片。当我以不同方式裁剪最后一个参数时会发生这种情Plz帮助。

image 1

1 个答案:

答案 0 :(得分:0)

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

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")

中央裁剪的屏幕截图 enter image description here