Python实现截屏的函数


Posted in Python onJuly 25, 2015

本文实例讲述了Python实现截屏的函数。分享给大家供大家参考。具体如下:

1.可指定保存目录.
2.截屏图片名字以时间为文件名
3.截屏图片存为JPG格式图片,比BMP小多的,一个1024*800的截屏BMP有3M多,一个1024*800的JPG只有300K左右.

就可做一个简单的监控了,每10秒截一屏,放到一个指定隐藏的文件夹里,基本掌握机子的使用了,适合监控自家小孩的使用情况

# -*- coding: cp936 -*- 
import time,Image 
import os, win32gui, win32ui, win32con, win32api 
def window_capture(dpath): 
  ''''' 
截屏函数,调用方法window_capture('d:\\') ,参数为指定保存的目录 
返回图片文件名,文件名格式:日期.jpg 如:2009328224853.jpg 
  ''' 
  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] 
  #print w,h #图片大小 
  saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)  
  saveDC.SelectObject(saveBitMap)  
  saveDC.BitBlt((0,0),(w, h) , mfcDC, (0,0), 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) 
  Image.open(bmpname).save(bmpname[:-4]+".jpg") 
  os.remove(bmpname) 
  jpgname=bmpname[:-4]+'.jpg' 
  djpgname=dpath+jpgname 
  copy_command = "move %s %s" % (jpgname, djpgname) 
  os.popen(copy_command) 
  return bmpname[:-4]+'.jpg' 
#调用截屏函数   
window_capture('d:\\')

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
基于python socketserver框架全面解析
Sep 21 Python
python re模块的高级用法详解
Jun 06 Python
对python中Librosa的mfcc步骤详解
Jan 09 Python
利用Python实现微信找房机器人实例教程
Mar 10 Python
详解用Python练习画个美队盾牌
Mar 23 Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
Python 转换RGB颜色值的示例代码
Oct 13 Python
用Python绘制漫步图实例讲解
Feb 26 Python
Python如何批量生成和调用变量
Nov 21 Python
教你漂亮打印Pandas DataFrames和Series
May 29 Python
Python基于PycURL自动处理cookie的方法
Jul 25 #Python
Python基于PycURL实现POST的方法
Jul 25 #Python
Python实现对excel文件列表值进行统计的方法
Jul 25 #Python
Python自动扫雷实现方法
Jul 25 #Python
Python导出DBF文件到Excel的方法
Jul 25 #Python
Python实现的RSS阅读器实例
Jul 25 #Python
Python获取央视节目单的实现代码
Jul 25 #Python
You might like
PHP4中session登录页面的应用
2008/07/25 PHP
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
Python 内存管理机制全面分析
2021/01/16 Python
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
关于Java String的一道面试题
2013/09/29 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
党员自我评议个人对照检查材料
2014/09/16 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
Mysql Online DDL的使用详解
2021/05/20 MySQL
python实现股票历史数据可视化分析案例
2021/06/10 Python
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
Redis的字符串是如何实现的
2021/10/24 Redis