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的垃圾回收机制深入分析
Jul 16 Python
Python中Django框架下的staticfiles使用简介
May 30 Python
Python脚本文件打包成可执行文件的方法
Jun 02 Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 Python
python字符串string的内置方法实例详解
May 14 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
Jun 12 Python
python爬虫 urllib模块发起post请求过程解析
Aug 20 Python
Python 变量的创建过程详解
Sep 02 Python
python socket 聊天室实例代码详解
Nov 14 Python
基于Django快速集成Echarts代码示例
Dec 01 Python
python 制作一个gui界面的翻译工具
May 14 Python
Elasticsearch 基本查询和组合查询
Apr 19 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/10/09 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
php常用正则函数实例小结
2016/12/29 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
js控制input输入字符解析
2013/12/27 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
[00:12]2018DOTA2亚洲邀请赛SOLO赛 MidOne是否中单第一人?
2018/04/05 DOTA
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
美国在线工具商店:Acme Tools
2018/06/26 全球购物
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
COS美国官网:知名服装品牌
2019/04/08 全球购物
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
纪念建党演讲稿范文
2014/01/13 职场文书
火锅店的活动方案
2014/08/15 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang