`
ncs123
  • 浏览: 102057 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

python 截屏

阅读更多
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调用DXGI实时快速截屏,是python截屏的最快版了

    这种方式相比于其他Python截图库,如PIL或Scrot,具有更快的速度和更低的延迟,适用于需要高性能实时截屏的场景。不过,这需要对底层图形编程有一定理解,并且可能涉及更复杂的错误处理和兼容性调整。

    python 截图 抓图 源码

    在Python编程语言中,我们可以利用各种库来实现截图和抓图功能。这个“python 截图 抓图 源码”项目提供了一个方便的工具,允许用户通过快捷键进行屏幕截图,并能自动保存截图结果。这样的功能对于开发者、测试人员...

    python 截图工具源码

    本文介绍了一款python截图工具的源码,它能够帮助用户快速、方便地截取屏幕上的图片。 该工具的源码主要由Python和Tkinter库组成,可以以GUI的形式运行,提供了友好的界面,让用户更容易上手。首先,它会生成一个...

    python截图 安卓用

    python语言一键截图,安卓专用,还可以检测手机时候连线,是否在线,欢迎使用,自己一直在使用,苹果的暂时没有

    PIL.rar_pic python语言_python pic模块_python截图_site:www.pudn.com

    "python截图"表明我们将讨论如何使用Python来捕获屏幕上的图像。"site:www.pudn.com"可能是源文件的下载链接或者参考资源的来源网站。 PIL模块提供了丰富的功能,包括打开、操作和保存许多不同格式的图像文件,如...

    屏幕浏览器定时截图Python代码

    本话题将探讨如何利用Python实现屏幕浏览器的定时截图功能。这个功能对于监控网页变化、自动化测试或者数据分析等场景非常有用。 首先,我们关注的"Python截图"涉及到Python中的一个关键库——Pillow库(PIL的更新...

    python后台windows窗口自动截图

    Python 后台Windows窗口自动截图是一项实用的技术,它允许开发者编写程序在计算机后台无用户交互的情况下捕获指定窗口的图像。这项技术在多种场景下都可能有用,例如监控特定应用程序的状态,或者像在这个例子中,...

    Python实现截屏的函数

    Python实现截屏的函数 # -*- coding: cp936 -*- import time,Image import os, win32gui, win32ui, win32con, win32api def window_capture(dpath): ''''' 截屏函数,调用方法window_capture('d:\\') ,参数为指定...

    2023 python调用DXGI实时快速截屏 最快3ms

    是python截屏的最快版了大概3ms左右,可以用在游戏实时截屏中FPS上百没啥问题 DXGI急速截屏代码,亲测非常好用,试着截取500张,1920的分辨率,文件夹好没有反应过来已经被铺满了,可怕的是,每张都是8点多M的大小...

    python写的自动截屏软件,并保存至本地图片

    标题中的“python写的自动截屏软件,并保存至本地图片”表明这是一个使用Python编程语言开发的自动屏幕截图应用程序。Python以其丰富的库和易读性而受到开发者喜爱,它能方便地处理图像操作,如截图和保存。 描述...

    Python如何截图保存的三种方法(小结)

    ### Python截图保存的三种方法详解 在自动化测试、数据分析等领域,使用Python进行屏幕截图并保存是一种常见的需求。本文将详细介绍三种实现这一功能的方法,并提供相应的示例代码。 #### 方法一:使用Selenium ...

    Python截图工具,含代码,可当工具使用

    由Python的截图代码和VB的exe程序构成,Python代码运行一次截图一次,exe程序辅助截图;可以当截图工具使用 可以随意更改和利用代码 注意事项:使用前先安装pyautogui;在Windows 7 Basic 等主题下使用可能没法正常...

    python截图源码示例

    要在Python中进行截图,可以使用Pillow库(也称为PIL)来处理图像。以下是一个简单的描述: 导入相关库:首先需要导入必要的Python库,如Pillow(用于处理图像)、pyautogui(用于获取屏幕尺寸)等。 获取屏幕尺寸...

    python截屏并发送邮件,截取IE为例

    python PIL,自动打开IE浏览器,截图,并将链接和截图发送邮件

    python练手项目实现截屏读取并搜索的小应用

    Python中有多种库可以实现屏幕截图,如PIL(Python Imaging Library)的ImageGrab模块,它可以捕获指定区域的屏幕图像。使用ImageGrab.grab()函数,开发者可以轻松地获取当前屏幕的快照,然后进行后续处理。 接着,...

    Python实战示例截图工具.zip

    Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战 截图工具Python实战...

    50个Python项目实例源码

    Python截图工具 Python名言查询 Python屏保计时器 Python贺卡 Python快递查询 Python桌面宠物 Python画爱心 Python从原Execl表中获取数据冰存入新表 Python检查world文件中的特殊标记词是否与文件名中的一致 Python...

    python自动截屏工具,无运行窗口,可配置间隔时间,保存路径,是否加密

    一、Python截屏原理 在Python中,我们可以利用第三方库如PIL(Python Imaging Library)或screenshot等来实现截屏功能。PIL库提供了图像处理能力,而screenshot库则专门用于获取屏幕快照。这些库通过操作系统提供的...

    Python-PythonMSS纯Python中使用ctypes的超快速跨平台多屏截图模块

    Python MSS 是一个强大的纯Python库,它利用了ctypes库,使得在Python中进行跨平台的多屏截图操作变得高效且便捷。这个模块的核心优势在于它的速度和跨平台兼容性,使得开发者无论在Windows、Linux还是macOS系统上都...

    DXGI急速截屏代码,亲测非常好用

    在这个场景中,"DXGI急速截屏代码"指的是利用DXGI库来实现高效、快速的屏幕截图功能。DXGI的优势在于其与Direct3D紧密集成,能够直接访问GPU资源,从而在截图过程中避免了额外的CPU开销,提高截屏速度。 DXGI截屏的...

Global site tag (gtag.js) - Google Analytics