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对html代码进行escape编码的方法
May 04 Python
Python简单实现enum功能的方法
Apr 25 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
Django框架实现逆向解析url的方法
Jul 04 Python
Python数据抓取爬虫代理防封IP方法
Dec 23 Python
python三方库之requests的快速上手
Mar 04 Python
python代码编写计算器小程序
Mar 30 Python
python实现简易淘宝购物
Nov 22 Python
Opencv求取连通区域重心实例
Jun 04 Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 Python
基于Python正确读取资源文件
Sep 14 Python
pytorch中的 .view()函数的用法介绍
Mar 17 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下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
js更优雅的兼容
2010/08/12 Javascript
jquery随机展示头像代码
2011/12/21 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
jQuery无冲突模式详解
2019/01/17 jQuery
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
Python中实现的RC4算法
2015/02/14 Python
Python发送email的3种方法
2015/04/28 Python
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
新员工试用期自我鉴定
2014/04/17 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书