用Python进行屏幕截图,只用两行代码搞定
一、计算机中如何进行屏幕截图呢?
1、全屏截图
按下键盘中的‘PRTSC’或者‘Print Screen’键,即可实现全屏截图(不同键盘位置和名称可能不同)。此时,并不能看到效果,只是将截图保存在粘贴板中,我们打开Word或者其它windows自带的画图板工具(以画图板工具为例)。我们打开画图板直接按下‘Ctrl’+ 'V'粘贴即可。然后你可以对该图片执行其它操作了。
2、截取当前活动窗口
如何截取当前活动窗口的图片呢?我们使用‘Print Screen’+ ‘Alt’组合键即可完成该操作。截图快捷键如下所示。
二、使用Python进行屏幕截图
我们需要用到Python的pillow模块中的ImageGrab类的grab()方法即可实现,具体代码如下:
img = ImageGrab.grab(bbox=(x, y, width, height))
该方法中bbox参数中传入需要截取图片的区域即可。其中x、y表示截取图片的左上角位置坐标,width、height参数中传入截取图片的宽度和高度。
如果是全屏幕截取,则x, y = 0, 0;width、height传入屏幕分辨率中的宽度和高度即可。
屏幕分辨率
Python获取屏幕分辨率并实现全屏截图的方案:
1.使用pywin32模块(需要安装该模块):
# 导入模块import win32api, win32confrom PIL import ImageGrab# 获取当前分辨率下的屏幕尺寸width = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)height = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)# 全屏幕截图img = ImageGrab.grab(bbox=(0, 0, width, height))# 保存截图img.save('full_screen_img.jpg')
2.使用tkinter模块
# 导入模块import tkinterfrom PIL import ImageGrab# 获取当前分辨率下的屏幕尺寸win = tkinter.Tk()width = win.winfo_screenwidth()height = win.winfo_screenheight()# 全屏幕截图img = ImageGrab.grab(bbox=(0, 0, width, height))# 保存截图img.save('full_screen_img.jpg')
这样,就完成了使用Python进行全屏截图的操作。其实,已知需要截图的坐标和尺寸,只用两行代码就可以搞定了。
img = ImageGrab.grab(bbox=(0, 0, width, height))img.save(filename)
如果要截取一部分屏幕,那么,我们在设计软件时只需要传入起始坐标点位置(图片左上角位置)和图片的宽度、高度信息就可以实现截取指定区域位置的图片内容了。
用Python进行屏幕截图,只用两行代码搞定相关推荐
- python实现屏幕截图_电脑截屏操作有哪些,用Python进行屏幕截图,只用两行代码搞定...
对于自媒体作者或者经常编辑进行文本编辑的人来讲,屏幕截图应该是一个很常见的操作.今天,带大家一起体验一下Python屏幕截图的操作,通过这篇内容你可以复习以下知识点: Python截图屏幕图片 使用P ...
- 机器学习练习数据哪里找?两行代码搞定!
初学者学习机器学习的时候,经常会找不到练习的数据,实际上scikit-learn内置了很多可以用于机器学习的数据,可以用两行代码就可以使用这些数据. 一.自带数据集 自带的小的数据集为:sklearn ...
- 自带的数据集_机器学习练习数据哪里找?两行代码搞定!
初学者学习机器学习的时候,经常会找不到练习的数据,实际上scikit-learn内置了很多可以用于机器学习的数据,可以用两行代码就可以使用这些数据. 一.自带数据集 自带的小的数据集为:sklearn ...
- 两行代码搞定iOS自定义HUD风格动画弹窗(支持选择记录) - SKChoosePopView的使用和实现思路
作者 ShevaKuilin 关注 2017.03.25 18:28* 字数 2014 阅读 270评论 0喜欢 23 さらい屋五葉 原文地址----> MyBlog HUD风格的选项弹窗是我们 ...
- 一行代码搞定 FTP 服务
环境搭建: python windows/linux pip install pyftpdlib (安装失败请到这里下载:https://pypi.python.org/pypi/pyftpdlib/ ...
- 一气之下,我一行代码搞定了约瑟夫环问题,面试官懵了
大家好,我是帅地. 对于约瑟夫环问题估计大家都听说过,除非你刚刚读大一,因为在大一大部分学校的课本都会降到这个算法题.为了以防万一你没听过,我还是给下问题的描述 问题描述:编号为 1-N 的 N 个士 ...
- Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径、相对路径
Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径.相对路径 目录 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 #Py ...
- 【Python】Autoviz: 一行代码搞定数据集探索并可视化
数据集各个特征有什么变化趋势.各个特征之间有何关系,我们可以借助Matplotlib.Seaborn等诸多工具来可视化展示,那么有没有一种工具能一次展示所有的关系了? 本文要介绍的Python工具Au ...
- 【Python基础】pandas的骚操作:一行 pandas 代码搞定 Excel “条件格式”!
来源:Python数据科学 作者:东哥起飞 本篇是pandas100个骚操作系列的第 7 篇:一行 pandas 代码搞定 Excel "条件格式"! 系列内容,请看????「pa ...
最新文章
- android中进程的优先级
- 堆溢出DWORD SHOOT原理
- 全球及中国婚礼鲜花行业运营模式分析及投资战略评估报告2022-2027年版
- hdu 2441(ACM(Array Complicated Manipulation))
- Google 出的 Guava 是个什么鬼
- JVM内存管理------GC算法精解(复制算法与标记/整理算法)
- 数据库数据过长避免_为什么要避免使用商业数据科学平台
- 微服务精华问答 | 如何理解中台战略和微服务
- 远程办公、游戏迅猛增长,旅行、汽车业遭重创!疫期移动互联网行业报告解读...
- java提示没有main,有main方法却还是提示没有
- MAgent安装及初步试验
- 怎样自学unity是效率最高的
- c语言换行用分号代替,go语言换行的地方可以用分号替代吗?
- 一个微信投票小程序防止刷票的想法
- 【渝粤题库】陕西师范大学163208 饭店管理 作业
- linux 查看vcf文件,VCF格式文件的shell小练习
- 【清除office待激活密钥】
- mysql面试题50
- 如何获取宝宝取名软件注册码
- MySQL常见错误:Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/localhos