Python实现屏幕截图

2019-04-29  本文已影响0人  书山压力特别大

之前使用Python构建了一个图片转文字小工具,但是使用的是使用系统自带的截图工具然后监听目录变化来实现的。接下来我想直接使用Python来构建一个截图工具,这样就可以结合转换工具使用。

构建图形界面

本文使用Python自带的GUI库Tkinter来构建图形界面。Tkinter使用手册:http://c.biancheng.net/python/tkinter/

  1. 安装python-tk:sudo apt-get install python-tk。
  2. 画一个简单的图形界面,只带一个截图按钮并给该按钮绑定监听。代码如下:
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()

截取整个屏幕

  1. 安装python3-pil.imagetk:sudo apt-get python3-pil.imagetk。
  2. 安装Python库:pip3 install pyscreenshot。
  3. 使用pyscreenshot库截取整个屏幕并生成名为temp.gif的图片。代码如下:
import pyscreenshot as ImageGrab
 
filename ='temp.gif'
im = ImageGrab.grab()
im.save(filename)
im.close()
  1. 结合图形界面和截取整个屏幕代码生成截图的底图。代码见[码云]https://gitee.com/fb4213/c-linux/blob/master/python/test/button-screen.py)。

监听鼠标

canvas.bind('<Button-1>', onLeftButtonDown)
canvas.bind('<ButtonRelease-1>', onLeftButtonUp)

结合截取屏幕的代码见码云

参考:https://blog.csdn.net/qq_35508118/article/details/81902178

上一篇 下一篇

猜你喜欢

热点阅读