通常在手机中如果看到自己喜欢的东西或者是比较重要的信息,是不是都会采用截屏的方式把数据截取下来呢?那么大家在学习python的时候有没有想过,它可以截图吗?利用python代码可以实现哪些截图功能 。今天这篇文章带大家一起来学习一些新的知识,有关“用python代码可以对屏幕进行截屏吗?python实现屏幕截图的方法有哪些?”下面让我们一起来看看吧!
文章插图
Python截图不是像操作系统中一样,自带了截图工具,它需要安装几个包并且还需要对这些包进行配置才能使用 。截屏方法也有很多种
一、安装截屏包
1、首先下载的第一个包是pyautogui
使用的命令是:
pip install pyautogui这个包可以直接获取截屏,如果你不想对图片进一步的操作只需要下载这一个 。
2、可以下载opencv-python包
下载命令:
pip install opencv-python这个包的 作用是对图片进行操作,可以实时获取 。
3、下载PyQt5包
4、下载pypiwin32包
这两个包一样的使用pip安装命令,表示的是使用PyQt的方法截屏 。
二、代码解析
1、使用pyautogui方法实现截屏,代码如下:
import pyautoguiimport cv2import numpy as nptp = pyautogui.screenshot(region=[200,50, 300, 100]) tp = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)cv2.imshow("hh",tp)cv2.waitKey(0)在上面的代码中,首先需要导入截屏的库,第四代码region四个参数中分别表示的是左上角的坐标和宽高,imshow它是默认顺序通道是BGR, 而pyautogui默认是RGB,所以第五行代码中,就是对它们两个的BGR进行转换,不转换的话就会出现问题 。使用这种方法截图的优点就是方便快捷,可以自由的选择截屏的区域也可以达到实时截屏的效果 。有优点就会有缺点,唯一的缺点就是不能使屏幕有任何的遮挡,必须是独立的窗口 。
2、使用PyQt方法实现截屏,代码如下:
import win32gui hh= dict()def get_all_h1(h1, mouse): if win32gui.IsWindow(h1) and win32gui.IsWindowEnabled(h1) and win32gui.IsWindowVisible(h1): hwnd_title.update({h1: win32gui.GetWindowText(h1)})win32gui.EnumWindows(get_all_h1, 0)for h, t in h1_title.items(): if t!= "": print(h1, t)使用这种方法会相对来说比较复杂,首先需要获取一个窗口的句柄,也就是一个目标窗口,我们这里设置的是一个title,有了title就可以实现截屏了,这个程序会打印所有的h1和title 。
【用python代码可以对屏幕进行截屏吗?python实现屏幕截图的方法有哪些?】这篇关于用python代码可以对屏幕进行截屏吗?python实现屏幕截图的方法有哪些?的文章就介绍到这了,上面给大家介绍了python截图的两种方法,赶紧动手实践一下吧!
推荐阅读
- 如何实现Python在终端彩色打印输出?python库在终端彩色打印输出的方法
- Python中怎么同时读取多个文件?Python一次性读多个文件如何实现
- 如何利用Python库获取鼠标的实时位置? Python获取鼠标的实时位置的方法有哪些?
- 食用百合与药用百合有什么区别?怎么鉴别百合?
- 家庭阳台种菜可以用什么盆好?
- 薄荷的功效与作用,以及薄荷叶怎么吃?
- PPT如何制作结构图?PPT制作结构图教程
- 能用茶水服药吗
- 爱你一生一世用英语怎么说。
- 天猫网店开店费用是多少?具体费用说明