admin 管理员组文章数量: 887021
截屏是我们平时工作或记录常用的操作,不过有人不知道怎么用系统截屏,今天,小编带来了系统的几种截屏,让我们来看看吧!
一、快捷键截图
1. Win + shift + S:可以选择截图区域的大小,Ctrl+V粘贴在word、微信等应用里。能否直接编辑修改需视系统版本而定,1809版本可在截图后进行编辑修改(该快捷键其实是调用了OneNote里的截图功能)
2. Prt sc:对整个页面截图,Ctrl+V粘贴,无法直接编辑修改。
3.Win键 + Prt sc:对整个页面截图,无法直接编辑修改,自动保存在此电脑—图片—屏幕截图里。
4.Alt + Prt sc:对打开的窗口进行截图,Ctrl+V粘贴,无法直接编辑修改。
如我在桌面打开了文件资源管理器,按下Alt+ Prt即可对资源管理器界面窗口进行截图。
二、Win10自带截图软件
1.Windows Ink
打开要截取的页面,同时按下Win+W键,在弹出的Windows Ink工作区中点击屏幕草图。
此时整个页面就被截取下来,同时进入了编辑状态,可进行涂鸦,画面剪切。图片编辑好后,可选择将图片另存为,或直接复制,粘贴使用。
2.Microsoft Edge浏览器
a.打开Miscrosoft Edge浏览器,点击页面右上角的添加笔记,在弹出的菜单栏中选择剪辑。
b.框选需要截图的页面,向下拖动鼠标,就可以截取网页中长度较长的内容,截图完成后,点击保存,退出笔记视窗。
c.点击页面左上角的中心-阅读列表,即可看到之前的截图,单击打开。
d.在打开的图片上右击鼠标,即可选择将图片另存为或直接复制进行发送。
3.截图工具
桌面右下角搜索框输入“截图工具”,鼠标点击打开(可将其固定到任务栏,方便使用)
可以设定截图模式,延迟截图的时间,点击新建即可进行截图。
花样截图完成后,还可进一步标注,保存或直接复制发送。
不过还有一种比较麻烦的方法,就是——代码截屏!
对,你没听错,就是代码截屏,但非常复杂。需要:
1、下载pyautogui包
pip install pyautogui -i https://pypi.tuna.tsinghua.edu/simple/
注:使用pyautogui方法获取截屏的话,只下载这个就行了
2、下载opencv-python包
pip install opencv-python -i https://pypi.tuna.tsinghua.edu/simple/
注:方便实现对图片的进一步处理,比如实时获取云云。
3、下载PyQt5包
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu/simple/
注:使用PyQt方法截屏下载介个
4、下载pypiwin32包
pip install pypiwin32 -i https://pypi.tuna.tsinghua.edu/simple/
接下来是屏幕截屏源码与解析
1、使用pyautogui方法实现截屏
import pyautogui
import cv2
import numpy as np
img = pyautogui.screenshot(region=[300,50, 200, 100]) # 分别代表:左上角坐标,宽高
#对获取的图片转换成二维矩阵形式,后再将RGB转成BGR
#因为imshow,默认通道顺序是BGR,而pyautogui默认是RGB所以要转换一下,不然会有点问题
img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
cv2.imshow("截屏",img)
cv2.waitKey(0)
优点:
方便快捷,容易写核心部分就一行.速度快0.04s左右,基本可以达到实时截屏的效果。可以自由确定截屏区域
缺点:
但是不能指定获取程序的窗口,因此窗口也不能遮挡。 2、使用PyQt方法实现截屏 a.获取窗口的句柄,也就是目标窗口名title。
import win32gui
hwnd_title = dict() #创建字典保存窗口的句柄与名称映射关系
def get_all_hwnd(hwnd, mouse):
if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})
win32gui.EnumWindows(get_all_hwnd, 0)
for h, t in hwnd_title.items():
if t!= "":
print(h, t)
注:程序会打印所有窗口的hwnd和title,有了title就可以进行截图了。
2.使用PyQt5截屏核心程序
from PyQt5.QtWidgets import QApplication
import win32gui
import sys
#这个是截取全屏的
hwnd = win32gui.FindWindow(None, 'C:/Windows/system32/cmd.exe')
app = QApplication(sys.argv)
screen = QApplication.primaryScreen()
img = screen.grabWindow(hwnd).toImage()
img.save("screenshot.jpg")
注:如果想截取特定的窗口,只需要将C:/Windows/system32/cmd.exe换成上一个程序中打印的title,并且保证那个窗口没有被你最小化即可
优点:
方便快捷,容易写核心部分就一行.速度快0.04s左右,基本可以达到实时截屏的效果。可以自由确定要截屏的窗口
缺点:
不可以自由确定截屏区域 c.使用PyQt5截屏用Mat格式显示的核心程序
今天的分享就到这,有疑问加我QQ:2490636253
本文标签: Windows
版权声明:本文标题:windows如何截屏 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1728985075h1303457.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论