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使用正则表达式检测密码强度源码分享
Jun 11 Python
Python中的下划线详解
Jun 24 Python
12步教你理解Python装饰器
Feb 25 Python
利用python为运维人员写一个监控脚本
Mar 25 Python
python使用递归的方式建立二叉树
Jul 03 Python
pandas计算最大连续间隔的方法
Jul 04 Python
python 实现创建文件夹和创建日志文件的方法
Jul 07 Python
pygame实现俄罗斯方块游戏(对战篇1)
Oct 29 Python
Python是怎样处理json模块的
Jul 16 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
利用Opencv实现图片的油画特效实例
Feb 28 Python
Python实现双向链表基本操作
May 25 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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
Prototype RegExp对象 学习
2009/07/19 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
简单谈谈javascript高级特性
2019/09/04 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
python 实现多维数组(array)排序
2020/02/28 Python
python中如何设置代码自动提示
2020/07/15 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
玩具反斗城美国官网:Toys"R"Us
2016/09/17 全球购物
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
计算机专业自我鉴定
2013/10/15 职场文书
读书心得体会
2013/12/28 职场文书
办公室岗位职责
2014/02/12 职场文书
消防标语大全
2014/06/07 职场文书
导游词400字
2015/02/13 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫