截图方法及装置、存储介质、电子装置与流程

文档序号:21927577发布日期:2020-08-21 14:49阅读:156来源:国知局
截图方法及装置、存储介质、电子装置与流程

本发明涉及图像处理领域,具体而言,涉及一种截图方法及装置、存储介质、电子装置。



背景技术:

相关技术中,图片是承载信息的重要载体,可应用在游戏,影音,摄影等领域,动态的图片可以形成动图或者视频,图片一般通过颜色、亮度等参数展示其画面,可以在计算机,电视等显示设备上展示,人们可以利用显示设备浏览和处理各类信息,显示设备可以通过截图的方式为用户截取有用信息,以使用户将截取的有用信息进行保存留用或发布等,从而实现显示界面的复制。

相关技术中,以手机为代表的终端一般是通过从屏幕上方的下拉菜单里点击截图工具来截取终端当前显示的界面,可以实现简单的日常需求,然后随着屏幕尺寸的增加和分辨率的提高,需要截取大尺寸的图片,如在游戏引擎中,d3d11&12和opengl,vulkan的最大贴图尺寸都达到了16k*16k,然后截图分辨率受限于两个因素,显卡(包括独立显卡和集成显卡)显存大小和渲染api(applicationprogramminginterface,应用程序接口)的限制,由于游戏中还有其他数据占用显存空间,所以实际游戏截图很难超过8k*8k,不能实现大尺寸或超大尺寸的截图,导致电影、动画等在宣发等阶段需要制作巨型海报时不能满足需求。

针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。



技术实现要素:

本发明实施例提供了一种截图方法及装置、存储介质、电子装置。

根据本发明的一个实施例,提供了一种截图方法,包括:响应截图指令,选中待截取的目标画面;分别截取所述目标画面中的多个子画面,其中,所述目标画面包括所述多个子画面;分别渲染所述多个子画面,生成对应的多个临时图片,并存储在硬盘存储器;在所述硬盘存储器中将所述多个临时图片拼接成单帧图片,以生成所述目标画面的截图文件。

根据本发明的另一个实施例,提供了一种截图装置,包括:选中模块,用于响应截图指令,选中待截取的目标画面;截取模块,用于分别截取所述目标画面中的多个子画面,其中,所述目标画面包括所述多个子画面;生成模块,用于分别渲染所述多个子画面,生成对应的多个临时图片,并存储在硬盘存储器;拼接模块,用于在所述硬盘存储器中将所述多个临时图片拼接成单帧图片,以生成所述目标画面的截图文件。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,通过上述步骤,响应截图指令,选中待截取的目标画面,然后分别截取目标画面中的多个子画面,最后根据多个子画面生成目标画面的截图文件,通过单独截取小尺寸的子画面和多画面拼接,从而突破显存和api的物理限制,可以截取大尺寸和超大尺寸的画面,解决了相关技术不能截取大尺寸画面的技术问题,实现了图片的无限尺寸截图。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种截图计算机的硬件结构框图;

图2是根据本发明实施例的一种截图方法的流程图;

图3是本发明实施例根据子画面生成截图文件的示意图;

图4是本发明实施例按序拼接生成单帧图片的示意图;

图5是根据本发明实施例的一种截图装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

本申请实施例一所提供的方法实施例可以在手机、平板、计算机或者类似的电子终端中执行。以运行在计算机上为例,图1是本发明实施例的一种截图计算机的硬件结构框图。如图1所示,计算机10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种截图方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种截图方法,图2是根据本发明实施例的一种截图方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,响应截图指令,选中待截取的目标画面;

本实施例的截图指令可以是硬件、软件、触控手势、鼠标、键盘等触发生成的指令,用于截取显示终端上某个区域的画面。

步骤s204,分别截取目标画面中的多个子画面,其中,目标画面包括多个子画面;

本实施例的目标画面由多个子画面组成,也可以包括没有有效像素的填充画面,各个子画面可以是规则或者不规则的画面,多个子画面可以是均匀尺寸或者是不同尺寸的画面。

步骤s206,分别渲染多个子画面,生成对应的多个临时图片,并存储在硬盘存储器;

在本实施例中,临时图片为子画面的截图文件,每个子画面对应一个临时图片,在渲染生成子画面的临时图片的过程包括:复制一个与子画面相同的且透明的封闭区域,在显示屏幕中复制子画面的像素值(包括多组rgb值的像素矩阵),将子画面的像素值填充到封闭区域中,即可生成对应的临时图片。

由于显示设备的可用的显存空间有限,因此在渲染子画面时,避免多个同时渲染,可以一个一个渲染,以降低显存和处理器的处理效率,在渲染完成后,将子画面存储到硬盘存储器,以降低子画面占用的运行内存和显存。

步骤s208,在硬盘存储器中将多个临时图片拼接成单帧图片,以生成目标画面的截图文件;

本实施例的截图文件是一个图片格式的文件,可以不用预览显示而直接保存在磁盘存储器。

通过上述步骤,响应截图指令,选中待截取的目标画面,然后分别截取目标画面中的多个子画面,最后根据多个子画面生成目标画面的截图文件,通过单独截取小尺寸的子画面和多画面拼接,从而突破显存和api的物理限制,可以截取大尺寸和超大尺寸的画面,解决了相关技术不能截取大尺寸画面的技术问题,实现了图片的无限尺寸截图。

本实施例可以应用在各种截图或者截屏的场景中,可以不限尺寸抓取屏幕截图,在截图时,可以不用考虑显示设备的物理硬件和软件的图片处理能力限制,可以适用在超高清的显示设备,大型显示设备等特殊的设备上,如应用在线上游戏和电子海报制作、在电影、动画制作过程中一次截图操作,创作出整幅的巨型海报等。响应截图指令,选中待截取的目标画面,可以但不限于为:在游戏界面中响应第一截图指令,选中待截取的游戏画面;在电子海报中响应第二截图指令,选中待截取的海报画面;在影视文件的制作过程中响应第三截图指令,选中待截取的影视画面;在动画文件的制作过程中响应第四截图指令,选中待截取的动画画面。

图3是本发明实施例根据子画面生成截图文件的示意图,在一个示例中,目标画面为a,包括四个子画面(可以是大于1的任意数量的子画面),分别为a、b、c、d,通过子画面a、b、c、d,可以最终拼接成完成的截图文件,即画面a的截图文件。

在本实施例的一个实施方式中,将多个临时图片拼接成单帧图片包括:确定每个临时图片对应的子画面的位置信息;基于位置信息按照预设方向逐行或者逐列拼接多个临时图片,得到单帧图片。

本实施例的预设方向可以是从左至右、从右至左、从上至下、从下至上、从中心向边缘延伸(可以应用在目标画面为圆形或者类似圆形的场景中)等,位置信息为子画面在原目标画面中的布局位置,如左上角,右下角,本实施例为了便于定位各个子画面,采用类似棋盘的方格来分配各个子画面的位置,目标画面为一个大的方格(不一定是方形,也可以是矩形或者不规则的形状),各个子画面对应一个小方格,每个方格对应一个标识,可以指定把画面切分成n*n的方格,不局限于4张,按照从左往右一行一行拼接,从而避免图片错版。

图4是本发明实施例按序拼接生成单帧图片的示意图,包括四张临时图片,分别为a、b、c、d,预设方向为从左至右逐行拼接,从第一行左边的第一张图开始,将第一行的第二张图b拼接至图片a上,然后跳转到第二行最左边的图片c,将图片c拼接在图片a的下方,然后到第二行的图片d,拼接完成,最后得到一张巨型的单帧图片。

在本实施例的一个可选实施方式中,在分别截取目标画面中的多个子画面之前,还可以多种触发条件触发系统切分屏幕,为截取多个子画面做准备,在一个示例中,触发条件的触发流程包括:

s11,获取目标画面的第一属性信息,其中,属性信息用于表征目标画面所占用的显存空间;

在显示设备上显示的目标画面,在屏幕分辨率一定的情况下,其所占用的显存空间与其尺寸相关,尺寸越大,像素点越多,渲染所占用的空间也越大,所以在获取属性信息时,可以通过计算目标画面的截屏面积来得到。

s12,判断显存空间是否大于第一预设阈值;

s13,若显存空间大于第一预设阈值,将目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

在本实施例的一个实施方式中,判断显存空间是否大于第一预设阈值包括:获取显示终端的空闲显存,并判断显存空间是否大于空闲显存,其中,显示终端用于显示目标画面;若显存空间大于空闲显存,确定显存空间大于第一预设阈值;显存空间小于或等于空闲显存,确定显存空间小于或等于第一预设阈值。

通过本示例,可以在截图过程中突破显存的物理限制,实现图片的无限尺寸截图。

在另一个示例中,触发条件的触发流程包括:

s21,获取目标画面的第二属性信息,其中,第二属性信息用于表征渲染目标画面所占用的应用程序编程接口api资源;

在显示设备上显示的目标画面,在屏幕分辨率一定的情况下,其所占用的显存空间与其尺寸相关,尺寸越大,目标文件越大,渲染所占用的api资源也会越多,所以在获取属性信息时,可以通过计算目标画面的截屏面积来得到。

s22,判断api资源是否大于第二预设阈值;

s23,若api资源大于第二预设阈值,将目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

通过本示例,可以在截图过程中突破api的物理限制,实现图片的无限尺寸截图。

在另一个示例中,触发条件的触发流程包括:

s31,获取目标画面的贴图尺寸;

在显示设备上显示目标画面时,可能由于屏幕的显示适配等因素不能完全显示目标画面,而只能显示部分区域,所以在获取贴图尺寸时,可以读取目标画面的实际尺寸来得到。

s32,判断贴图尺寸是否大于第三预设阈值;

s33,若贴图尺寸大于第三预设阈值,将目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

通过本示例,可以在截图过程中突破屏幕尺寸的物理限制,实现图片的无限尺寸截图。

在本实施例的一个实施方式中,将目标画面所在的屏幕切分为多个子屏幕包括:确定单帧截图的第一尺寸,以及确定目标画面的第二尺寸;将第二尺寸除以第一尺寸,得到切分粒度n,其中,n为大于1的整数;将目标画面所在的屏幕切分为n*n个子屏幕。

在本实施例的一个实施方式中,分别渲染多个子画面,生成对应的多个临时图片,并存储在硬盘存储器,包括:获取每个子画面的三阶张量数据;对多个子画面对应的多个三阶张量数据去重后,将每个三阶张量数据渲染为一个临时图片,并存储在硬盘存储器。

本实施例通过在切分成多个子画面后,加一个判断校验的步骤,把待渲染的三阶张量数据进行对比,找出相同的三阶张量数据并去重,判断为相同的子画面只提交一次渲染,保存一次,最后在拼接时按子画面的位置进行拼接。

本实施例的单帧图片是单次截图(不用拼接子画面)可得到的最大尺寸图片,如2k图片,如果切分粒度为2,则可以得到2*2横竖共四张2k图片拼接成的4k图片,如果切分粒度为4,则可以得到4*4横竖共16张2k图片拼接成的8k图片,同理可以适合其他尺寸,本实施例除了n*n的拼接方式之外,还可以是m*n的拼接方式,其中,m与n不同,m为大于或等于1的整数,可以实现相同的效果。

本实施例通过切分子画面,采用类似棋盘截图的技术,把屏幕切分成多个格子,每个格子独立渲染,并把渲染结果保存到硬盘上,把所有格子拼成一张截图。突破了显存和api接口的限制,只要硬盘足够大,理论上可以截取无限大尺寸的截图。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种截图装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本发明实施例的一种截图装置的结构框图,如图5所示,该装置包括:选中模块50,截取模块52,生成模块54,拼接模块56,其中,

选中模块50,用于响应截图指令,选中待截取的目标画面;

截取模块52,用于分别截取所述目标画面中的多个子画面,其中,所述目标画面包括所述多个子画面;

生成模块54,用于分别渲染所述多个子画面,生成对应的多个临时图片,并存储在硬盘存储器;

拼接模块56,用于在所述硬盘存储器中将所述多个临时图片拼接成单帧图片,以生成所述目标画面的截图文件。

可选的,所述拼接模块包括:确定单元,用于确定每个临时图片对应的子画面的位置信息;拼接单元,用于基于所述位置信息按照预设方向逐行或者逐列拼接所述多个临时图片,得到单帧图片。

可选的,所述装置还包括:第一获取模块,用于在所述截取模块分别截取所述目标画面中的多个子画面之前,获取所述目标画面的第一属性信息,其中,所述属性信息用于表征所述目标画面所占用的显存空间;第一判断模块,用于判断所述显存空间是否大于第一预设阈值;切分模块,用于若所述显存空间大于第一预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

可选的,所述装置还包括:第二获取模块,用于在所述截取模块分别截取所述目标画面中的多个子画面之前,获取所述目标画面的第二属性信息,其中,所述第二属性信息用于表征渲染所述目标画面所占用的应用程序编程接口api资源;第二判断模块,用于判断所述api资源是否大于第二预设阈值;切分模块,用于若所述api资源大于第二预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

可选的,所述装置还包括:第三获取模块,用于在所述截取模块分别截取所述目标画面中的多个子画面之前,获取所述目标画面的贴图尺寸;第三判断模块,用于判断所述贴图尺寸是否大于第三预设阈值;切分模块,用于若所述贴图尺寸大于第三预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

可选的,所述切分模块包括:确定单元,用于确定单帧截图的第一尺寸,以及确定所述目标画面的第二尺寸;处理单元,用于将所述第二尺寸除以所述第一尺寸,得到切分粒度n,其中,n为大于10的整数;切分单元,用将所述目标画面所在的屏幕切分为n*n个子屏幕。

可选的,所述第一判断模块包括:获取单元,用于获取显示终端的空闲显存,并判断所述显存空间是否大于所述空闲显存,其中,所述显示终端用于显示所述目标画面;确定单元,用于若所述显存空间大于所述空闲显存,确定所述显存空间大于第一预设阈值;所述显存空间小于或等于所述空闲显存,确定所述显存空间小于或等于第一预设阈值。

可选的,所述生成模块包括:获取单元,用于获取每个子画面的三阶张量数据;渲染单元,用于对所述多个子画面对应的多个三阶张量数据去重后,将每个三阶张量数据渲染为一个临时图片,并存储在硬盘存储器。

可选的,所述选中模块包括以下之一:第一选中单元,用于在游戏界面中响应第一截图指令,选中待截取的游戏画面;第二选中单元,用于在电子海报中响应第二截图指令,选中待截取的海报画面;第三选中单元,用于在影视文件的制作过程中响应第三截图指令,选中待截取的影视画面;第四选中单元,用于在动画文件的制作过程中响应第四截图指令,选中待截取的动画画面。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,响应截图指令,选中待截取的目标画面;

s2,分别截取所述目标画面中的多个子画面,其中,所述目标画面包括所述多个子画面;

s3,分别渲染所述多个子画面,生成对应的多个临时图片,并存储在硬盘存储器;

s4,在所述硬盘存储器中将所述多个临时图片拼接成单帧图片,以生成所述目标画面的截图文件。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,响应截图指令,选中待截取的目标画面;

s2,分别截取所述目标画面中的多个子画面,其中,所述目标画面包括所述多个子画面;

s3,分别渲染所述多个子画面,生成对应的多个临时图片,并存储在硬盘存储器;

s4,在所述硬盘存储器中将所述多个临时图片拼接成单帧图片,以生成所述目标画面的截图文件。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

本发明实施例还包括在下列编号条款中规定的这些和其他方面:

1.一种截图方法,包括:

响应截图指令,选中待截取的目标画面;

分别截取所述目标画面中的多个子画面,其中,所述目标画面包括所述多个子画面;

分别渲染所述多个子画面,生成对应的多个临时图片,并存储在硬盘存储器;

在所述硬盘存储器中将所述多个临时图片拼接成单帧图片,以生成所述目标画面的截图文件。

2.根据条款1所述的方法,将所述多个临时图片拼接成单帧图片包括:

确定每个临时图片对应的子画面的位置信息;

基于所述位置信息按照预设方向逐行或者逐列拼接所述多个临时图片,得到单帧图片。

3.根据条款1所述的方法,在分别截取所述目标画面中的多个子画面之前,所述方法还包括:

获取所述目标画面的第一属性信息,其中,所述第一属性信息用于表征所述目标画面所占用的显存空间;

判断所述显存空间是否大于第一预设阈值;

若所述显存空间大于第一预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

4.根据条款1所述的方法,在分别截取所述目标画面中的多个子画面之前,所述方法还包括:

获取所述目标画面的第二属性信息,其中,所述第二属性信息用于表征渲染所述目标画面所占用的应用程序编程接口api资源;

判断所述api资源是否大于第二预设阈值;

若所述api资源大于第二预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

5.根据条款1所述的方法,在分别截取所述目标画面中的多个子画面之前,所述方法还包括:

获取所述目标画面的贴图尺寸;

判断所述贴图尺寸是否大于第三预设阈值;

若所述贴图尺寸大于第三预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

6.根据条款3至5任一项所述的方法,将所述目标画面所在的屏幕切分为多个子屏幕包括:

确定单帧截图的第一尺寸,以及确定所述目标画面的第二尺寸;

将所述第二尺寸除以所述第一尺寸,得到切分粒度n,其中,n为大于1的整数;

将所述目标画面所在的屏幕切分为n*n个子屏幕。

7.根据条款1所述的方法,分别渲染所述多个子画面,生成对应的多个临时图片,并存储在硬盘存储器,包括:

获取每个子画面的三阶张量数据;

对所述多个子画面对应的多个三阶张量数据去重后,将每个三阶张量数据渲染为一个临时图片,并存储在硬盘存储器。

8.根据条款3所述的方法,判断所述显存空间是否大于第一预设阈值包括:

获取显示终端的空闲显存,并判断所述显存空间是否大于所述空闲显存,其中,所述显示终端用于显示所述目标画面;

若所述显存空间大于所述空闲显存,确定所述显存空间大于第一预设阈值;所述显存空间小于或等于所述空闲显存,确定所述显存空间小于或等于第一预设阈值。

9.根据条款1所述的方法,响应截图指令,选中待截取的目标画面,包括以下之一:

在游戏界面中响应第一截图指令,选中待截取的游戏画面;

在电子海报中响应第二截图指令,选中待截取的海报画面;

在影视文件的制作过程中响应第三截图指令,选中待截取的影视画面;

在动画文件的制作过程中响应第四截图指令,选中待截取的动画画面。

10.一种截图装置,包括:

选中模块,用于响应截图指令,选中待截取的目标画面;

截取模块,用于分别截取所述目标画面中的多个子画面,其中,所述目标画面包括所述多个子画面;

生成模块,用于分别渲染所述多个子画面,生成对应的多个临时图片,并存储在硬盘存储器;

拼接模块,用于在所述硬盘存储器中将所述多个临时图片拼接成单帧图片,以生成所述目标画面的截图文件。

11.根据条款10所述的装置,所述拼接模块包括:

确定单元,用于确定每个临时图片对应的子画面的位置信息;

拼接单元,用于基于所述位置信息按照预设方向逐行或者逐列拼接所述多个临时图片,得到单帧图片。

12.根据条款10所述的装置,所述装置还包括:

第一获取模块,用于在所述截取模块分别截取所述目标画面中的多个子画面之前,获取所述目标画面的第一属性信息,其中,所述属性信息用于表征所述目标画面所占用的显存空间;

第一判断模块,用于判断所述显存空间是否大于第一预设阈值;

切分模块,用于若所述显存空间大于第一预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

13.根据条款10所述的装置,所述装置还包括:

第二获取模块,用于在所述截取模块分别截取所述目标画面中的多个子画面之前,获取所述目标画面的第二属性信息,其中,所述第二属性信息用于表征渲染所述目标画面所占用的应用程序编程接口api资源;

第二判断模块,用于判断所述api资源是否大于第二预设阈值;

切分模块,用于若所述api资源大于第二预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

14.根据条款10所述的装置,所述装置还包括:

第三获取模块,用于在所述截取模块分别截取所述目标画面中的多个子画面之前,获取所述目标画面的贴图尺寸;

第三判断模块,用于判断所述贴图尺寸是否大于第三预设阈值;

切分模块,用于若所述贴图尺寸大于第三预设阈值,将所述目标画面所在的屏幕切分为多个子屏幕,其中,每个子屏幕对应一个子画面。

15.根据条款12至14任一项所述的装置,所述切分模块包括:

确定单元,用于确定单帧截图的第一尺寸,以及确定所述目标画面的第二尺寸;

处理单元,用于将所述第二尺寸除以所述第一尺寸,得到切分粒度n,其中,n为大于10的整数;

切分单元,用将所述目标画面所在的屏幕切分为n*n个子屏幕。

16.根据条款12所述的装置,所述第一判断模块包括:

获取单元,用于获取显示终端的空闲显存,并判断所述显存空间是否大于所述空闲显存,其中,所述显示终端用于显示所述目标画面;

确定单元,用于若所述显存空间大于所述空闲显存,确定所述显存空间大于第一预设阈值;所述显存空间小于或等于所述空闲显存,确定所述显存空间小于或等于第一预设阈值。

17.根据条款12所述的装置,所述生成模块包括:

获取单元,用于获取每个子画面的三阶张量数据;

渲染单元,用于对所述多个子画面对应的多个三阶张量数据去重后,将每个三阶张量数据渲染为一个临时图片,并存储在硬盘存储器。

18.根据条款10所述的装置,所述选中模块包括以下之一:

第一选中单元,用于在游戏界面中响应第一截图指令,选中待截取的游戏画面;

第二选中单元,用于在电子海报中响应第二截图指令,选中待截取的海报画面;

第三选中单元,用于在影视文件的制作过程中响应第三截图指令,选中待截取的影视画面;

第四选中单元,用于在动画文件的制作过程中响应第四截图指令,选中待截取的动画画面。

19.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行条款1至9任一项中所述的方法。

20.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行条款1至9任一项中所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1