def Clip(self):
subprocess.call('SnippingTool.exe')
#ctypes.windll.user32.OpenClipboard(0)
#ClippedScreen=ctypes.windll.user32.GetClipboardData
#ClippedScreen=PIL.ImageGrab.grab(bbox=(10,10,500,500))
ClippedScreen = PIL.ImageGrab.grabclipboard()
self.savescreenshot(ClippedScreen)
Run Code Online (Sandbox Code Playgroud)
ImageGrab.grabclipboard()失败了raise IOError("Unsupported BMP bitfields layout")。在网上读到这是一个已知问题。不知道如何解决这个问题。
接下来尝试了 ctypes,但由于AttributeError: '_FuncPtr'对象没有属性“保存”而失败
bbox 正在工作,但我不知道如何使剪切区域动态。
全屏抓取工作正常
def Prntscrn(self):
WholeScreen=ImageGrab.grab()
self.savescreenshot(WholeScreen)
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒,想法是使用截图工具剪辑屏幕,然后将图像从剪贴板复制到变量并使用 savescreenshot 方法将其保存在文件夹中。任何帮助都会很棒。