python截屏问题 win32和PIL

问题描述

python截屏问题 win32和PIL
服务器部署截屏程序,本地远程登录服务器的时候能正常截屏,如果把远程界面关闭或者最小化的时候,截屏就会失败
使用PIL的情况:

 coordinate = (0 0 6020) pic = ImageGrab.grab(coordinate)

错误信息:

 File ""E:python-workspacecrawler-20150529spidersgz_spider.py"" line 141 in _do_crawl_img_by_screenshot    pic = ImageGrab.grab(coordinate)  # 截图  File ""D:Python27libsite-packagesPILImageGrab.py"" line 34 in grab    size data = grabber()IOError: screen grab failed

使用win32截屏也是用户界面打开的时候能成功,把远程界面退出或者最小化的时候截屏失败,代码如下:

GrabUtil.py def grab(dpathargs):  ''''' 参数为指定保存的目录 返回图片文件名文件名格式:日期.jpg 如:2009328224853.jpg   '''  hwnd = 0  hwndDC = win32gui.GetWindowDC(hwnd)    mfcDC=win32ui.CreateDCFromHandle(hwndDC)    saveDC=mfcDC.CreateCompatibleDC()    saveBitMap = win32ui.CreateBitmap()    MoniterDev=win32api.EnumDisplayMonitors(NoneNone)   #w = MoniterDev[0][2][2]  #h = MoniterDev[0][2][3]  w = args[2]  h = args[3]  #print wh   #图片大小   saveBitMap.CreateCompatibleBitmap(mfcDC wh)  saveDC.SelectObject(saveBitMap)    saveDC.BitBlt((00)(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

报错信息:

 File ""E:python-workspacecrawler-20150529spiderssele.py"" line 162 in _do_crawl_img    img = self._do_crawl_img_by_screenshot()  File ""E:python-workspacecrawler-20150529spiderssz_spider.py"" line 149 in _do_crawl_img_by_screenshot    pic = grab(self.storage_pathcoordinate)  File ""E:python-workspacecrawler-20150529GrabUtil.py"" line 24 in grab    saveDC.BitBlt((00)(w h)  mfcDC (args[0]args[1]) win32con.SRCCOPY)error: BitBlt failed

初步判定原因:win7 服务器用户登录的时候截屏没有问题,本地远程登陆这台服务器的时候也没有问题,远程界面最小化的时候界面可能调用的是本地服务器的本地方法截屏,所以失败,当我关闭远程界面的时候,这个时候服务器是没有用户登录的状态,所以截屏也失败了,希望那位大牛能帮忙解决问题,告知具体原因

解决方案

http://blog.csdn.net/qiguiting/article/details/39376433

时间: 2024-08-03 17:14:59

python截屏问题 win32和PIL的相关文章

Python 截屏模块 pyscreenshot

问题描述 pyscreenshot 是一个 Python 的模块,用来对屏幕进行截屏并拷贝到 PIL or Pillow 图像对象中.这是一个纯 Python 库,支持跨平台.示例代码:import pyscreenshot as ImageGrab # fullscreenim=ImageGrab.grab()im.show() # part of the screenim=ImageGrab.grab(bbox=(10,10,510,510)) # X1,Y1,X2,Y2im.show()U

利用Python为iOS10生成图标和截屏_python

简介 这两天更新完Xcode8之后发现Xcode对图标的要求又有了变化,之前用的一个小应用"IconKit"还没赶上节奏,已经不能满足Xcode8的要求了. 于是就想起来用Python自己做个脚本来生成图标. 其实这个脚本很早就写了,现在为了适应iOS10,就修改完善下,并且放到了GitHub. 可以看看效果图:  1.png 代码: #encoding=utf-8 #by 不灭的小灯灯 #create date 2016/5/22 #update 2016/9/21 #support

教你用Python脚本快速为iOS10生成图标和截屏_python

简介 这两天更新完Xcode8之后发现Xcode对图标的要求又有了变化,之前用的一个小应用"IconKit"还没赶上节奏,已经不能满足Xcode8的要求了. 于是就想起来用Python自己做个脚本来生成图标. 其实这个脚本很早就写了,现在为了适应iOS10,就修改完善下,并且放到了 GitHub . 可以看看效果图:   代码: #encoding=utf-8 #by 不灭的小灯灯 #create date 2016/5/22 #update 2016/9/21 #support iO

使用python编写android截屏脚本双击运行即可_python

测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较麻烦.另一种方法是使用PC端的手机助手类软件. 这里使用python编写一个截屏的脚本,双击运行脚本就OK,截屏成功后会将截屏文件已当前时间命名,并保存在存放脚本的当前路径的screenshot文件夹下: #!/usr/bin/env python import os import time PATH = lam

求教高人!不规则图形截屏问题!

问题描述 不规则截屏,不是普通的QQ鼠标拖动出方块截屏,画成什么样截成什么样 解决方案 解决方案二:在线等解决方案三:需要调用win32下的一个程序集解决方案四:急!在线等!我想要那种能截取不规则图形的,有办法实现吗解决方案五:WINDOWS的位图都是矩形,不存在所谓不规则的.解决方案六:可以把截后的图在编辑软件中再截取,,为什么要什么不规则的截屏.解决方案七:客户需求...比如说我想从屏幕上截取三角行,或者只截取某个人物....有人会么解决方案八:就是将不规则的区域透出来,参考如下代码:Gra

截屏功能

给UIView添加扩展方法: // 截屏 - (UIImage *)captureScreenshot { UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [UIScreen mainScreen].scale); // IOS7及其后续版本 if ([self respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) { NSI

android4.3 截屏功能的尝试与失败分析

感谢网友cjd6568358的帮助,新版的Android系统截屏功能已经实现,需要的朋友请移步项目主页:https://github.com/Android-ScreenShot/AndroidScreenShotService(别忘点个star哦) (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景          上一篇讲了在源码中捕获到了android手机的截屏函数(同时按下电源键与音量减,详情http://blog.csdn.net/bup

友推首创支持截屏涂鸦标记分享功能,社交分享组件又一玩家

近日,国内新晋的移动应用组件服务提供商友推发布了新版本,宣布首创推出截屏涂鸦标记分享功能,通过截屏涂鸦标记功能,更方便用户间的沟通分享,通过在图片上的创作加工,产生更多有趣.有分享价值的内容. 在以往的分享过程中,很多用户会截图发送给好友,并根据图片上的信息跟好友讨论,有时为了方便好友能更清楚本人想表达的点,还会先打开图片编辑软件,用画笔标记后发送给对方,操作过程繁琐,十分不方便. 友推在截屏分享中更进一步,通过整合截屏及涂鸦标记编辑,缩短用户的操作流程,帮助用户更好地编辑.表达所分享的内容.

友推首创支持截屏涂鸦标记分享功能

友推新版发布: 首创推出截屏保涂鸦标记分享功能,通过截屏涂鸦标记功能,更方便用户间的沟通分享,通过在图片上的创作加工,产生更多有趣.有分享价值的内容. 在分享的过程中,很多用户会截图发送给好友,并根据图片上的信息跟好友讨论,有时为了方便好友能更清楚本人想表达的点,还会先打开图片编辑软件,用画笔标记后发送给对方,操作过程繁琐,十分不方便. 友推在截屏分享中更进一步,通过整合截屏及涂鸦标记编辑,缩短用户的操作流程,帮助用户更好地编辑.表达所分享的内容. 友推share-android-v2.3 主要