【发布时间】:2020-07-20 18:38:24
【问题描述】:
我尝试使用pygetwindow 和ImageGrab 来获取窗口的位置并拍摄它,但我得到的图像是正确的,但侧面也有一些额外的像素。从大小中减去一些像素也无济于事。我做错了什么还是有更好更简单的方法?也尝试使用win32gui,但得到与图像相同的输出
代码:
import pygetwindow as gw
from time import sleep
from PIL import ImageGrab
win = gw.getWindowsWithTitle('Health Card')[0]
winleft = win.left
wintop = win.top
winright = win.right
winbottom = win.bottom
sleep(3)
print(win.left,win.right,win.bottom,win.top)
a = ImageGrab.grab(bbox=(winleft,wintop,winright,winbottom))
a.save('hey.png')
图片:
我怎样才能得到,只是精确的窗口并排除窗口的标题栏
提前致谢:D
【问题讨论】:
-
这可能是一些讨厌的阴影或窗口“装饰”。尝试捕捉几个不同大小的窗口,看看它是否是一个恒定大小的边框,然后总是在适当的一侧减去那么多像素。或者查找有关您的抓取功能的文档,看看是否有排除阴影或装饰的选项。
-
@MarkSetchell 哦,它 cud b 窗口的阴影,但我厌倦了减去,没有帮助,只是得到了一些差异大小,我认为文档也有办法:(
-
是的@MarkSetchell 我经过长时间的搜索我得到了 c++ 的结果,我认为,现在我通过减去阴影边框解决了它:D
标签: python image user-interface tkinter python-imaging-library