使用BBOX选项百分比而不是绝对像素 - PyScreenShot Python

时间:2017-08-17 23:23:37

标签: python image python-3.x screenshot pixels

PyScreenShot的grab()功能上的BBOX选项能够收集屏幕上很棒的区域。

可以使用绝对百分比值进行相同操作吗?使用像素值的问题是在不同分辨率的不同显示器上,抓取的图像会有所不同。

所以不要说

im = ImageGrab.grab(bbox=(100,100,500,500))

如果屏幕是1920x1080或任何其他分辨率

,我可以独立获得相同的区域

1 个答案:

答案 0 :(得分:0)

这是你想要的吗?

import mss
# import mss.tools


with mss.mss() as sct:
    monitor = sct.monitors[1]
    left = monitor['left'] + monitor['width'] * 5 // 100  # 5% from the left
    top = monitor['top'] + monitor['height'] * 5 // 100  # 5% from the top
    right = left + 400  # 400px width
    lower = top + 400  # 400px height
    box = (left, top, right, lower)
    im = sct.grab(box)
    # mss.tools.to_png(im.rgb, im.size, 'screenshot.png')