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  __getattr__与__setattr__使用方法
Sep 06 Python
基于Python实现的百度贴吧网络爬虫实例
Apr 17 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
Python 给定的经纬度标注在地图上的实现方法
Jul 05 Python
opencv设置采集视频分辨率方式
Dec 10 Python
python获取引用对象的个数方式
Dec 20 Python
如何使用Cython对python代码进行加密
Jul 08 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 Python
Python实现天气查询软件
Jun 07 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
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
PHP 存储文本换行实现方法
2010/01/05 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
php中define用法实例
2015/07/30 PHP
php 数组元素快速去重
2017/05/05 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
python 实现表情识别
2020/11/21 Python
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
Internet主要有哪些网络群组成
2015/12/24 面试题
四风查摆剖析材料
2014/10/10 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
工厂采购员岗位职责
2015/04/07 职场文书
培训督导岗位职责
2015/04/10 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL