1.python截屏的方法:方法一使用PIL库,方法二使用win32
PIL库截屏简单
2.PIL库截屏
coordinate = (0, 0, 60,20)
pic = ImageGrab.grab(coordinate)
3.win32库截屏
def grab(dpath,args):
'''''
参数为指定保存的目录
'''
hwnd = 0
hwndDC = win32gui.GetWindowDC(hwnd)
mfcDC=win32ui.CreateDCFromHandle(hwndDC)
saveDC=mfcDC.CreateCompatibleDC()
saveBitMap = win32ui.CreateBitmap()
MoniterDev=win32api.EnumDisplayMonitors(None,None)
#w = MoniterDev[0][2][2]
#h = MoniterDev[0][2][3]
w = args[2]
h = args[3]
#print w,h #图片大小
saveBitMap.CreateCompatibleBitmap(mfcDC, w,h)
saveDC.SelectObject(saveBitMap)
saveDC.BitBlt((0,0),(w, h) , mfcDC, (args[0],args[1]), win32con.SRCCOPY)
cc=time.gmtime()
bmpname=str(cc[0])+str(cc[1])+str(cc[2])+str(cc[3]+8)+str(cc[4])+str(cc[5])+'.bmp'
saveBitMap.SaveBitmapFile(saveDC, bmpname)
pic = Image.open(bmpname)
pic.save(os.path.join(dpath, 'xxxxx.jpeg'), 'jpeg')
os.remove(bmpname)
return pic
4.截屏的异常
无论是使用win32还是PIL截屏,如果是远程登录windows服务器,然后退出用户的情况下都会报错,
PIL
File "E:\python-workspace\crawler-20150529\spiders\gz_spider.py", line 141, in _do_crawl_img_by_screenshot
pic = ImageGrab.grab(coordinate) # 截图
File "D:\Python27\lib\site-packages\PIL\ImageGrab.py", line 34, in grab
size, data = grabber()
IOError: screen grab failed
win32
File "E:\python-workspace\crawler-20150529\spiders\sele.py", line 162, in _do_crawl_img
img = self._do_crawl_img_by_screenshot()
File "E:\python-workspace\crawler-20150529\spiders\sz_spider.py", line 149, in _do_crawl_img_by_screenshot
pic = grab(self.storage_path,coordinate)
File "E:\python-workspace\crawler-20150529\GrabUtil.py", line 24, in grab
saveDC.BitBlt((0,0),(w, h) , mfcDC, (args[0],args[1]), win32con.SRCCOPY)
error: BitBlt failed
错误原因:mstsc远程登录服务器的时候用户处于登录状态,断开远程界面用户处于登出状态,计算机无用户登录状态时整个屏幕是黑的,不能正常截屏
解决方法:1.使用svc登录部署,这样用户一直处于登录状态。2.多用户登录,其中一个用户一直处于登录,部署时使用另一个用户部署
分享到:
相关推荐
这种方式相比于其他Python截图库,如PIL或Scrot,具有更快的速度和更低的延迟,适用于需要高性能实时截屏的场景。不过,这需要对底层图形编程有一定理解,并且可能涉及更复杂的错误处理和兼容性调整。
在Python编程语言中,我们可以利用各种库来实现截图和抓图功能。这个“python 截图 抓图 源码”项目提供了一个方便的工具,允许用户通过快捷键进行屏幕截图,并能自动保存截图结果。这样的功能对于开发者、测试人员...
本文介绍了一款python截图工具的源码,它能够帮助用户快速、方便地截取屏幕上的图片。 该工具的源码主要由Python和Tkinter库组成,可以以GUI的形式运行,提供了友好的界面,让用户更容易上手。首先,它会生成一个...
python语言一键截图,安卓专用,还可以检测手机时候连线,是否在线,欢迎使用,自己一直在使用,苹果的暂时没有
"python截图"表明我们将讨论如何使用Python来捕获屏幕上的图像。"site:www.pudn.com"可能是源文件的下载链接或者参考资源的来源网站。 PIL模块提供了丰富的功能,包括打开、操作和保存许多不同格式的图像文件,如...
本话题将探讨如何利用Python实现屏幕浏览器的定时截图功能。这个功能对于监控网页变化、自动化测试或者数据分析等场景非常有用。 首先,我们关注的"Python截图"涉及到Python中的一个关键库——Pillow库(PIL的更新...
Python 后台Windows窗口自动截图是一项实用的技术,它允许开发者编写程序在计算机后台无用户交互的情况下捕获指定窗口的图像。这项技术在多种场景下都可能有用,例如监控特定应用程序的状态,或者像在这个例子中,...
Python实现截屏的函数 # -*- coding: cp936 -*- import time,Image import os, win32gui, win32ui, win32con, win32api def window_capture(dpath): ''''' 截屏函数,调用方法window_capture('d:\\') ,参数为指定...
### Python截图保存的三种方法详解 在自动化测试、数据分析等领域,使用Python进行屏幕截图并保存是一种常见的需求。本文将详细介绍三种实现这一功能的方法,并提供相应的示例代码。 #### 方法一:使用Selenium ...
是python截屏的最快版了大概3ms左右,可以用在游戏实时截屏中FPS上百没啥问题 DXGI急速截屏代码,亲测非常好用,试着截取500张,1920的分辨率,文件夹好没有反应过来已经被铺满了,可怕的是,每张都是8点多M的大小...
标题中的“python写的自动截屏软件,并保存至本地图片”表明这是一个使用Python编程语言开发的自动屏幕截图应用程序。Python以其丰富的库和易读性而受到开发者喜爱,它能方便地处理图像操作,如截图和保存。 描述...
由Python的截图代码和VB的exe程序构成,Python代码运行一次截图一次,exe程序辅助截图;可以当截图工具使用 可以随意更改和利用代码 注意事项:使用前先安装pyautogui;在Windows 7 Basic 等主题下使用可能没法正常...
要在Python中进行截图,可以使用Pillow库(也称为PIL)来处理图像。以下是一个简单的描述: 导入相关库:首先需要导入必要的Python库,如Pillow(用于处理图像)、pyautogui(用于获取屏幕尺寸)等。 获取屏幕尺寸...
python PIL,自动打开IE浏览器,截图,并将链接和截图发送邮件
Python中有多种库可以实现屏幕截图,如PIL(Python Imaging Library)的ImageGrab模块,它可以捕获指定区域的屏幕图像。使用ImageGrab.grab()函数,开发者可以轻松地获取当前屏幕的快照,然后进行后续处理。 接着,...
Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战...
Python截图工具 Python名言查询 Python屏保计时器 Python贺卡 Python快递查询 Python桌面宠物 Python画爱心 Python从原Execl表中获取数据冰存入新表 Python检查world文件中的特殊标记词是否与文件名中的一致 Python...
一、Python截屏原理 在Python中,我们可以利用第三方库如PIL(Python Imaging Library)或screenshot等来实现截屏功能。PIL库提供了图像处理能力,而screenshot库则专门用于获取屏幕快照。这些库通过操作系统提供的...
Python MSS 是一个强大的纯Python库,它利用了ctypes库,使得在Python中进行跨平台的多屏截图操作变得高效且便捷。这个模块的核心优势在于它的速度和跨平台兼容性,使得开发者无论在Windows、Linux还是macOS系统上都...
下面是一段使用Selenium实现全屏截图的Python代码示例: ```python from selenium import webdriver import os # 创建Chrome浏览器实例 driver = webdriver.Chrome() # 访问你想要截图的网页 driver.get('...