达到目的: 使用该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 失败;因为未找到具体的安装包。
只能通过安装包进行安装了:
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()