用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, win32con

from 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 tkinter

from 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)

如果要截取一部分屏幕,那么,我们在设计软件时只需要传入起始坐标点位置(图片左上角位置)和图片的宽度、高度信息就可以实现截取指定区域位置的图片内容了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值