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 相关文章推荐
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
Python实现XML文件解析的示例代码
Feb 05 Python
python监控进程脚本
Apr 12 Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 Python
对python特殊函数 __call__()的使用详解
Jul 02 Python
python3的print()函数的用法图文讲解
Jul 16 Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 Python
Python基础类继承重写实现原理解析
Apr 03 Python
python Xpath语法的使用
Nov 26 Python
python实现计算图形面积
Feb 22 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
世界收音机发展史
2021/03/01 无线电
PHP脚本数据库功能详解(下)
2006/10/09 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
php实现简单文件下载的方法
2015/01/30 PHP
零基础php编程好学吗
2019/10/11 PHP
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
Bootstrap精简教程
2015/11/27 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
2019/11/13 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
Python变量和数据类型详解
2017/02/15 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
python多线程同步实例教程
2019/08/11 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python实现简单的tcp 文件下载
2020/09/16 Python
python 元组和列表的区别
2020/12/30 Python
Android本地应用打开方法——通过html5写连接
2016/03/11 HTML / CSS
个人租房协议书
2014/04/09 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
反四风对照检查材料
2014/09/22 职场文书
2014年工程部工作总结
2014/11/25 职场文书
驾驶员管理制度范本
2015/08/06 职场文书
初级职称评定工作总结
2015/08/13 职场文书
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
sql注入报错之注入原理实例解析
2022/06/10 MySQL