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 相关文章推荐
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
Python分支结构(switch)操作简介
Jan 17 Python
Python tkinter事件高级用法实例
Jan 31 Python
详解python的sorted函数对字典按key排序和按value排序
Aug 10 Python
python斐波那契数列的计算方法
Sep 27 Python
python 拼接文件路径的方法
Oct 23 Python
Python简易版图书管理系统
Aug 12 Python
用pytorch的nn.Module构造简单全链接层实例
Jan 14 Python
Scrapy框架实现的登录网站操作示例
Feb 06 Python
django xadmin 管理器常用显示设置方式
Mar 11 Python
Python Socketserver实现FTP文件上传下载代码实例
Mar 27 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 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
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
js单向链表的具体实现实例
2013/06/21 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
微信小程序-form表单提交代码实例
2019/04/29 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
WxPython建立批量录入框窗口
2019/02/27 Python
Python中拆分字符串的操作方法
2019/07/23 Python
python程序输出无内容的解决方式
2020/04/09 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
学习python需要有编程基础吗
2020/06/02 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
医学生自荐信
2013/12/03 职场文书
大学生自荐书范文
2013/12/10 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
档案管理员岗位职责
2015/02/12 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python