python 下的windows 屏幕截图功能

达到目的: 使用该python代码,可以像QQ在win上的截图功能一样,通过点击鼠标左键,然后拖动截图区域截图

启动源码:把下面代码保存为 xxx.py 文件,然后 开始-> cmd -> cd  到 xxx.py 的目录 ->python xxx.py (启动xxx.py)

使用方法: 使用鼠标任意在桌面上左击,然后拖动(会有个矩形区域==截图区域),Then 松开,Next 在键盘上按空格键,截图就完成了,图片位置和 xxx.py 为同一目录下

安装

基本环境:  python2.7 ,pythoncom 模块, pyHook模块 ,PIL模块  

pip install pythoncom 失败;因为未找到具体的安装包。

只能通过安装包进行安装了:

pythoncom:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win32-py2.7.exe/download

pyHook:http://nchc.dl.sourceforge.net/project/pyhook/pyhook/1.5.1/pyHook-1.5.1.win32-py2.7.exe


废话不多说,直接上原代码

# -*- coding: utf-8 -*-

#导入模块

import pythoncom, pyHook 
from PIL import ImageGrab 


#创建全局变量,以便储存鼠标Down 和 Up 时的坐标
positionDown = ()
position = ()

#鼠标左键按下触发
def onMouseEventDown(event):
    global positionDown
    positionDown = event.Position
    return True
#鼠标左键松开触发	
def onMouseEventUp(event):
    global positionDown
    global position	
    position = positionDown + event.Position
    return True
#截屏方法
def  printScreen(position):
    im = ImageGrab.grab(position)
    im.save('printscreen.jpg')	
    return True
#获取键盘值方法	
def onKeyboardEvent(event):
    if(event.Key=='Space'):
        global position
        if position is not None:
            printScreen(position)
    return True
	
#主方法	
def main():
    hm = pyHook.HookManager()
    hm.KeyDown = onKeyboardEvent 
    hm.MouseAllButtonsDown = onMouseEventDown
    hm.MouseAllButtonsUp = onMouseEventUp
    hm.HookMouse()
    hm.HookKeyboard()   
    pythoncom.PumpMessages()
if __name__ == "__main__":
    main()

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值