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的chardet库获得文件编码并修改编码
Jan 22 Python
python实现linux下使用xcopy的方法
Jun 28 Python
分享Python文本生成二维码实例
Jan 06 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
Python读取图片属性信息的实现方法
Sep 11 Python
Python之日期与时间处理模块(date和datetime)
Feb 16 Python
Python简单操作sqlite3的方法示例
Mar 22 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
Python timeit模块原理及使用方法
Oct 10 Python
python 多进程和协程配合使用写入数据
Oct 30 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
Mar 04 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
文件系统基本操作类
2006/11/23 PHP
PHP优于Node.js的五大理由分享
2012/09/15 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
PHP速成大法
2015/01/30 PHP
javascript是怎么继承的介绍
2012/01/05 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
js实现一键复制功能
2017/03/16 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
在Django中限制已登录用户的访问的方法
2015/07/23 Python
python实现备份目录的方法
2015/08/03 Python
python运行时间的几种方法
2016/06/17 Python
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
电子商务应届生求职信
2013/11/16 职场文书
2014自主招生自荐信策略
2014/01/27 职场文书
对标管理实施方案
2014/03/12 职场文书
先进教师个人总结
2015/02/11 职场文书
学习保证书怎么写
2015/02/26 职场文书
2015教师个人工作总结范文
2015/03/31 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
源码解读Spring-Integration执行过程
2021/06/11 Java/Android