如何使用 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")
中央裁剪屏幕截图
我无法使用 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")
中央裁剪屏幕截图