之前使用Python构建了一个图片转文字小工具,但是使用的是使用系统自带的截图工具然后监听目录变化来实现的。接下来我想直接使用Python来构建一个截图工具,这样就可以结合转换工具使用。
构建图形界面
本文使用Python自带的GUI库Tkinter来构建图形界面。Tkinter使用手册:http://c.biancheng.net/python/tkinter/。
安装python-tk:sudo apt-get install python-tk。
画一个简单的图形界面,只带一个截图按钮并给该按钮绑定监听。代码如下:
import tkinter
root = tkinter.Tk()
root.title('')
#指定窗口的大小
root.geometry('100x50+400+300')
#不允许改变窗口大小
root.resizable(False,False)
#开始截图
def buttonCaptureClick():
print("test")
root.state('normal')
buttonCapture = tkinter.Button(root, text='截图', command=buttonCaptureClick)
buttonCapture.place(x=10, y=10, width=80, height=30)
#启动消息主循环
try:
root.mainloop()
except:
root.destroy()
截取整个屏幕
安装python3-pil.imagetk:sudo apt-get python3-pil.imagetk。
安装Python库:pip3 install pyscreenshot。
使用pyscreenshot库截取整个屏幕并生成名为temp.gif的图片。代码如下:
import pyscreenshot as ImageGrab
filename ='temp.gif'
im = ImageGrab.grab()
im.save(filename)
im.close()
监听鼠标
canvas.bind('', onLeftButtonDown)
canvas.bind('', onLeftButtonUp)
结合截取屏幕的代码见码云。