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 Django(图文)
Nov 04 Python
使用setup.py安装python包和卸载python包的方法
Nov 27 Python
Python命名空间详解
Aug 18 Python
Django发送html邮件的方法
May 26 Python
python选择排序算法实例总结
Jul 01 Python
Python中subprocess的简单使用示例
Jul 28 Python
Python实现简单的语音识别系统
Dec 13 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
python绘制规则网络图形实例
Dec 09 Python
python在不同条件下的输入与输出
Feb 13 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 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
一些关于PHP的知识
2006/11/17 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
解放web程序员的输入验证
2006/10/06 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
公司授权委托书
2014/04/04 职场文书
银行求职自荐信
2014/06/30 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
个人维稳承诺书
2015/05/04 职场文书
孟佩杰观后感
2015/06/17 职场文书
生日祝酒词大全
2015/08/10 职场文书
董事长秘书工作总结
2015/08/14 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server
python 安全地删除列表元素的方法
2022/03/16 Python