一、计算机中如何进行屏幕截图呢?
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)
如果要截取一部分屏幕,那么,我们在设计软件时只需要传入起始坐标点位置(图片左上角位置)和图片的宽度、高度信息就可以实现截取指定区域位置的图片内容了。