Python实现屏幕截图

之前使用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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容