发明内容
本发明实施例公开了一种图像生成方法及装置,以简化多次图像截取的步骤。
为达到上述目的,本发明实施例公开了一种图像生成方法,所述方法包括:
接收截图指令;
生成与所述截图指令对应的图层,将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中,并在所生成图层上显示用户所选择的屏幕区域的图像内容,其中,所生成图层对应的存储区域独立于根据之前已接收的截图指令生成的处于未关闭状态的图层对应的存储区域;
在接收到针对当前处于未关闭状态的至少一个图层的图像生成指令后,根据所述图像生成指令中包括的图层的标识对应的图层,生成所述图像生成指令对应的输出图像,其中,所述图像生成指令中包括:用户所选择图层的标识。
在本发明的一种具体实现方式中,所述在所生成图层上显示用户所选择的屏幕区域的图像内容之后,还包括:
接收针对所生成图层上所显示的图像内容的编辑操作指令;
根据所述编辑操作指令,对所生成图层上所显示的图像内容进行编辑,获得编辑后的图像内容,并在所生成图层上显示上述编辑后的图像内容;
将上述编辑后的图像内容以及与所述编辑操作指令相关的信息存储在所生成图层对应的存储区域中。
在本发明的一种具体实现方式中,在所述图像生成指令中包括用户所选择的一个图层的标识的情况下,
所述根据所述图像生成指令中包括的图层的标识对应的图层,生成所述图像生成指令对应的输出图像,包括:
创建操作系统图像对象;
根据所述图像生成指令中包括的图层的标识,通过将用户所选择的图层上显示的图像内容拷贝至所创建的操作系统图像对象中的方式,生成所述图像生成指令对应的输出图像。
在本发明的一种具体实现方式中,在所述图像生成指令中包括用户所选择的多个图层的标识的情况下,
所述根据所述图像生成指令中包括的图层的标识对应的图层,生成所述图像生成指令对应的输出图像,包括:
根据所述图像生成指令中包括的图层的标识,确定用于生成所述图像生成指令对应的输出图像的图层;
按照预设的像素混合算法,对所确定的各个图层上显示的图像内容进行像素混合,生成所述图像生成指令对应的输出图像。
在本发明的一种具体实现方式中,所述图像生成指令中还包括:基准图层的标识RL;
所述按照预设的像素混合算法,对所确定的各个图层上显示的图像内容进行像素混合,生成所述图像生成指令对应的输出图像,包括:
查找所确定的各个图层中与标识为RL的图层大小不一致的图层;
根据所述标识为RL的图层的大小和所查找到的各个图层的大小,分别确定所查找到的各个图层对应的缩放比例,其中,按照所确定的缩放比例对查找到的图层进行缩放处理后得到的图层大小与所述标识为RL的图层的大小一致;
根据所查找到的各个图层对应的缩放比例分别对所查找到的各个图层上显示的图像内容进行缩放处理;
对经上述缩放处理后的图像内容以及所确定的图层中与标识为RL的图层大小一致的图层上显示的图像内容进行像素混合,生成所述图像生成指令对应的输出图像。
在本发明的一种具体实现方式中,所述图像生成指令中还包括:基准图层的标识RL;
所述按照预设的像素混合算法,对所确定的各个图层上显示的图像内容进行像素混合,生成所述图像生成指令对应的输出图像,包括:
按照以下表达式获得所确定的任一图层Li用于像素混合的区域,
其中,wdi、hdi表示图层Li用于用于像素混合的区域的宽度和高度,wsi、hsi表示图层Li的宽度和高度,wrl、hrl表示标识为RL的图层的宽度和高度;
根据所获得的各个像素混合区域上显示的图像内容,生成所述图像生成指令对应的输出图像。
在本发明的一种具体实现方式中,所述预设的像素混合算法为:基于像素透明度的像素混合算法。
在本发明的一种具体实现方式中,所述生成与所述截图指令对应的图层,包括:
生成与所述截图指令对应的一个或多个图层,其中,所生成的图层对应的存储区域之间相互独立。
在本发明的一种具体实现方式中,所述当前处于未关闭状态的图层包括:当前处于前台处理状态的图层和当前处于后台待处理状态的图层;
所述图像生成方法还包括:
接收图层切换指令,其中,所述图层切换指令中包括:待切换的当前处于后台待处理状态的图层的标识;
切换当前处于前台处理状态的图层为后台待处理状态,并切换所述图层切换指令中包括的标识对应的图层的状态为前台处理状态。
为达到上述目的,本发明实施例公开了一种图像生成装置,所述装置包括:
截图指令接收模块,用于接收截图指令;
图层生成模块,用于生成与所述截图指令对应的图层,其中,所生成图层对应的存储区域独立于根据之前已接收的截图指令生成的处于未关闭状态的图层对应的存储区域;
图像存储及显示模块,用于将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中,并在所生成图层上显示用户所选择的屏幕区域的图像内容;
图像生成模块,用于在接收到针对当前处于未关闭状态的至少一个图层的图像生成指令后,根据所述图像生成指令中包括的图层的标识对应的图层,生成所述图像生成指令对应的输出图像,其中,所述图像生成指令中包括:用户所选择图层的标识。
在本发明的一种具体实现方式中,所述图像生成装置还包括:
编辑操作指令接收模块,用于在所述图像存储及显示模块在所生成图层上显示用户所选择的屏幕区域的图像内容之后,接收针对所生成图层上所显示的图像内容的编辑操作指令;
图像显示模块,用于根据所述编辑操作指令,对所生成图层上所显示的图像内容进行编辑,获得编辑后的图像内容,并在所生成图层上显示上述编辑后的图像内容;
信息存储模块,用于将上述编辑后的图像内容以及与所述编辑操作指令相关的信息存储在所生成图层对应的存储区域中。
在本发明的一种具体实现方式中,在所述图像生成指令中包括用户所选择的一个图层的标识的情况下,所述图像生成模块,包括:
对象创建子模块,用于创建操作系统图像对象;
第一图像生成子模块,用于根据所述图像生成指令中包括的图层的标识,通过将用户所选择的图层上显示的图像内容拷贝至所创建的操作系统图像对象中的方式,生成所述图像生成指令对应的输出图像。
在本发明的一种具体实现方式中,在所述图像生成指令中包括用户所选择的多个图层的标识的情况下,所述图像生成模块,包括:
图层确定子模块,用于根据所述图像生成指令中包括的图层的标识,确定用于生成所述图像生成指令对应的输出图像的图层;
第二图像生成子模块,用于按照预设的像素混合算法,对所确定的各个图层上显示的图像内容进行像素混合,生成所述图像生成指令对应的输出图像。
在本发明的一种具体实现方式中,所述图像生成指令中还包括:基准图层的标识RL;
所述第二图像生成子模块,包括:
图层查找单元,用于查找所确定的各个图层中与标识为RL的图层大小不一致的图层;
缩放比例确定单元,用于根据所述标识为RL的图层的大小和所查找到的各个图层的大小,分别确定所查找到的各个图层对应的缩放比例,其中,按照所确定的缩放比例对查找到的图层进行缩放处理后得到的图层大小与所述标识为RL的图层的大小一致;
缩放处理单元,用于根据所查找到的各个图层对应的缩放比例分别对所查找到的各个图层上显示的图像内容进行缩放处理;
第一图像生成单元,用于对经上述缩放处理后的图像内容以及所确定的图层中与标识为RL的图层大小一致的图层上显示的图像内容进行像素混合,生成所述图像生成指令对应的输出图像。
在本发明的一种具体实现方式中,所述图像生成指令中还包括:基准图层的标识RL;
所述第二图像生成子模块,包括:
区域确定单元,用于按照以下表达式获得所确定的任一图层Li用于像素混合的区域,
其中,wdi、hdi表示图层Li用于用于像素混合的区域的宽度和高度,wsi、hsi表示图层Li的宽度和高度,wrl、hrl表示标识为RL的图层的宽度和高度;
第二图像生成单元,用于根据所获得的各个像素混合区域上显示的图像内容,生成所述图像生成指令对应的输出图像。
在本发明的一种具体实现方式中,所述预设的像素混合算法为:基于像素透明度的像素混合算法。
在本发明的一种具体实现方式中,所述图层生成模块,具体用于生成与所述截图指令对应的一个或多个图层,其中,所生成的图层对应的存储区域之间相互独立。
在本发明的一种具体实现方式中,所述当前处于未关闭状态的图层包括:当前处于前台处理状态的图层和当前处于后台待处理状态的图层;
所述图像生成装置还包括:
切换指令接收模块,用于接收图层切换指令,其中,所述图层切换指令中包括:待切换的当前处于后台待处理状态的图层的标识;
状态切换模块,用于切换当前处于前台处理状态的图层为后台待处理状态,并切换所述图层切换指令中包括的标识对应的图层的状态为前台处理状态。
由以上可见,本发明实施例提供的方案中,接收到截图指令后,首先生成与该截图指令对应的图层,并将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中,在所生成图层上显示用户所选择的屏幕区域的图像内容,生成图像时,接收到图像生成指令后,根据图像生成指令中包括的图层的标识对应的图层,生成该图像生成指令对应的输出图像。由于所生成图层对应的存储区域独立于其他处于未关闭状态的图层对应的存储区域,所以,多次进行图像截图时,不会存在数据覆盖问题,进而也无需退出当前图像生成过程即可实现多次图像截取,因此,能够简化多次图像截取的步骤。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的图像生成方法的第一种流程示意图,该方法包括:
S101:接收截图指令。
终端设备所接收的截图指令可以是用户点击预先设定的截图按钮触发的,还可以是一些终端设备运行其他应用的过程中涉及的某一特定功能触发的等,本申请并不对此进行限定。
S102:生成与截图指令对应的图层,将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中,并在所生成图层上显示用户所选择的屏幕区域的图像内容。
需要说明的是,所生成图层对应的存储区域独立于根据之前已接收的截图指令生成的处于未关闭状态的图层对应的存储区域。
另外,本申请并不限定上述将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中的步骤与上述在所生成图层上显示用户所选择的屏幕区域的图像内容的步骤之间的执行顺序,将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中的步骤可以在在所生成图层上显示用户所选择的屏幕区域的图像内容的步骤之前执行,也可以在其之后执行,两者还可以同时执行。
本发明的一种可选实现方式中,处于未关闭状态的图层可以划分为处于前台处理状态的图层和处于后台待处理状态的图层两类。
具体的,对于windows操作系统而言,上述的用户所选择的屏幕区域的图像内容可以理解为设备上下文HDC对应的区域的内容。
其中,设备上下文HDC:是一种包含有关某个设备(如:显示器或打印机)的绘制属性信息的Windows数据结构。所有绘制调用都通过设备上下文对象进行,这些对象封装了用于绘制线条、形状和文本的WindowsAPI。设备上下文允许在Windows中进行与设备无关的绘制。设备上下文可用于绘制到屏幕、打印机或者图元文件。
较佳的,生成一个截图指令对应的图层时,可以根据具体应用场景生成与该截图指令对应的一个图层或者多个图层,所生成的图层对应的存储区域与当前处于未关闭状态的图层对应的存储区域之间相互独立。
另外,所生成的图层为多个图层的情况下,各个图层对应的存储区域之间相互独立,用户所选择的屏幕区域的图像内容可以分别存储在所生成的各个图层对应的存储区域中,也就是说在生成该截图指令对应的多个图层的初始阶段,会在不同的存储区域中存储多份用户所选择的屏幕区域的图像内容,可以理解的,这时会在所生成的各个图层上均显示用户所选择的屏幕区域的图像内容,进一步的,用户还可以针对所生成的每一个图层上显示的图像内容分别进行编辑,用户针对各个图层上所显示的图像内容的编辑操作互不影响。
S103:在接收到针对当前处于未关闭状态的至少一个图层的图像生成指令后,根据图像生成指令中包括的图层的标识对应的图层,生成图像生成指令对应的输出图像。
其中,上述图像生成指令中至少需包括:用户所选择图层的标识。
由于当前处于未关闭状态的图层可能是一个也可能是多个,所以,能够理解的是,上述的图像生成指令可以是针对一个图层的图像生成指令,也可以是针对多个图层的图像生成指令。下面分情况进行说明:
在上述图像生成指令为针对一个图层的图像生成指令的情况下,图像生成指令中包括用户所选择的一个图层的标识,这时根据图像生成指令中包括的图层的标识对应的图层,生成图像生成指令对应的输出图像时,可以先创建操作系统图像对象,然后根据图像生成指令中包括的图层的标识,通过将用户所选择的图层上显示的图像内容拷贝至所创建的操作系统图像对象中的方式,生成图像生成指令对应的输出图像。
例如,在windows操作系统中,可先创建windows的图形对象Bitmap,然后根据图像生成指令中包括的图层的标识,将该图层对应的设备上下文HDC对应区域的内容拷贝到所创建的Bitmap图形对象中。
在上述图像生成指令为针对多个图层的图像生成指令的情况下,图像生成指令中包括用户所选择的多个图层的标识,这时根据图像生成指令中包括的图层的标识对应的图层,生成图像生成指令对应的输出图像时,需考虑多个图层中的内容。具体的,参见图2,提供了图像生成方法的第二种流程示意图,与前述实施例相比,本实施例中,在图像生成指令中包括用户所选择的多个图层的标识的情况下,根据图像生成指令中包括的图层的标识对应的图层,生成图像生成指令对应的输出图像(S103),包括:
S103A:根据图像生成指令中包括的图层的标识,确定用于生成图像生成指令对应的输出图像的图层。
S103B:按照预设的像素混合算法,对所确定的各个图层上显示的图像内容进行像素混合,生成图像生成指令对应的输出图像。
由于各个图层对应的存储区域是相互独立的,各个图层上所显示的图像内容不会混淆在一起,也不会出现一个图层上所显示的图像内容被其他图层上所显示的图像内容覆盖的现象,所以,对所确定的各个图层上显示的图像内容进行像素混合时,需分别从不同的存储区域中获得各个图层上显示的图像内容的像素信息。
可以理解的,用户所选择的各个图层的大小可能一致也可能不一致,鉴于此,在生成图像生成指令对应的输出图像的过程中,可以指定基准图层,生成上述输出图像时,以指定基准图层为基准,对用户所选择的图层上显示的图像内容进行缩放处理或者裁减处理等等,然后再根据处理后的图像内容生成输出图像。这种情况下,上述图像生成指令中还需包括:基准图层的标识RL。
上述的基准图层可以是用户所选择的多个图层中的一个图层,也可以是不属于用户所选择的图层、且处于未关闭状态的图层中的一个图层。
在本发明的一种具体实现方式中,按照预设的像素混合算法,对所确定的各个图层上显示的图像内容进行像素混合,生成图像生成指令对应的输出图像时,可先查找所确定的各个图层中与标识为RL的图层大小不一致的图层,然后再根据标识为RL的图层的大小和所查找到的各个图层的大小,分别确定所查找到的各个图层对应的缩放比例,并根据所查找到的各个图层对应的缩放比例分别对所查找到的各个图层上显示的图像内容进行缩放处理,最后对经上述缩放处理后的图像内容以及所确定的图层中与标识为RL的图层大小一致的图层上显示的图像内容进行像素混合,生成图像生成指令对应的输出图像。
其中,按照所确定的缩放比例对查找到的图层进行缩放处理后得到的图层大小与所述标识为RL的图层的大小一致。
从前面的描述可以看出,图像内容是显示在图层上的,所以,通常情况下在图层上显示的图像内容的大小小于等于图层的大小。
参照上述具体实施例提供的思路,为了便于生成图像生成指令对应的输出图像时准确定位经缩放处理后的图像内容以及所确定的图层中与标识为RL的图层大小一致的图层上显示的图像内容之间的相对关系,还可以根据所查找到的各个图层对应的缩放比例分别对所查找到的各个图层进行缩放处理,这样生成输出图像时所涉及的图像内容对应的图层大小均与基准图像的大小一致,可以借助经缩放处理后的图层以及所确定的图层中与标识为RL的图层大小一致的图层,确定生成输出图像时所涉及的图像内容之间的相对关系。
在本发明的另一种具体实现方式中,按照预设的像素混合算法,对所确定的各个图层上显示的图像内容进行像素混合,生成图像生成指令对应的输出图像时,可以按照以下表达式获得所确定的任一图层Li用于像素混合的区域,
其中,wdi、hdi表示图层Li用于用于像素混合的区域的宽度和高度,wsi、hsi表示图层Li的宽度和高度,wrl、hrl表示标识为RL的图层的宽度和高度;
然后,根据所获得的各个像素混合区域上显示的图像内容,生成图像生成指令对应的输出图像。
实际应用中,图像存在多种格式,例如,RGB格式、YUV格式等等,对于不同的图像格式,进行像素混合时可以采用不同的像素混合算法。
有些图像格式中每一像素的像素信息中均包含透明度信息,较佳的,在进行像素混合时可以采用基于像素透明度的像素混合算法进行像素混合,即上述预设的像素混合算法为基于像素透明度的像素混合算法。
简单的,像素混合可以理解为:目标像素与源像素按某种混合方法混合输出的过程。
下面以RGBA格式的图像为例,对像素混合过程进行简单说明。
图像格式为RGBA时,一个像素的像素信息中包括四部分,R颜色分量、G颜色分量、B颜色分量和A透明度分量,基于透明度进行像素混合的过程可以描述如下:
假设,Src、Dest、Tmp分别为源像素、目标像素、临时像素,MixAlpha为混合透明度,范围0-255,Red、Blue、Green、Alhpa分别为像素的四个分量,Round()为四舍五入函数。根据Src的四个分量计算Dest的四个分量的过程为:
Tmp.Red=Src.Red*MixAlpha/255;
Tmp.Green=Src.Green*MixAlpha/255;
Tmp.Blue=Src.Blue*MixAlpha/255;
Tmp.Alpha=Src.Alpha*MixAlpha/255;
Value=255-Tmp.Alpha;
Dest.Red=Tmp.Red+Round((Dest.Red*Value)/255);
Dest.Green=Tmp.Green+Round((Dest.Green*Value)/255);
Dest.Blue=Tmp.Blue+Round((Dest.Blue*Value)/255);
Dest.Alpha=Tmp.Alpha+Round((Dest.Alphg*Value)/255)。
需要说明的是,本申请只是以上述为例进行说明,实际应用中进行像素混合的过程并不仅限于此。
由前面的描述可以看出,本发明实施例提供的方案中,多个图层可以同时存在,这些图层可以称之为处于未关闭状态的图层。虽然多个图层可以同时存在,但是通常情况下,当前时刻只能有一个图层处于前台处理状态,而其他图层则暂时处于后台待处理状态。
在本发明的一种较佳实现方式中,在当前处于未关闭状态的图层包括:当前处于前台处理状态的图层和当前处于后台待处理状态的图层的情况下,上述的图像生成方法还可以包括:
接收图层切换指令,其中,图层切换指令中包括:待切换的当前处于后台待处理状态的图层的标识;切换当前处于前台处理状态的图层为后台待处理状态,并切换图层切换指令中包括的标识对应的图层的状态为前台处理状态。这样能够方便的在各个当前处于未关闭状态的图层之间进行切换。
由以上可见,上述各个实施例提供的方案中,接收到截图指令后,首先生成与该截图指令对应的图层,并将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中,在所生成图层上显示用户所选择的屏幕区域的图像内容,生成图像时,接收到图像生成指令后,根据图像生成指令中包括的图层的标识对应的图层,生成该图像生成指令对应的输出图像。由于所生成图层对应的存储区域独立于其他处于未关闭状态的图层对应的存储区域,所以,多次进行图像截图时,不会存在数据覆盖问题,进而也无需退出当前图像生成过程即可实现多次图像截取,因此,能够简化多次图像截取的步骤。
在本发明的一种具体实现方式中,参见图3,提供了图像生成方法的第三种流程示意图,与前述实施例相比,本实施例中,在所生成图层上显示用户所选择的屏幕区域的图像内容(S102)之后,还包括:
S104:接收针对所生成图层上所显示的图像内容的编辑操作指令。
上述的编辑操作指令可以是在所生成图层上所显示的图像内容上添加文字信息的操作指令、绘制几何图形的操作指令、改变图像颜色的操作指令等等。
其中,编辑操作指令中可以包括:图层的标识、操作区域的左上角定点坐标、右下角定点坐标、操作标识等等
S105:根据编辑操作指令,对所生成图层上所显示的图像内容进行编辑,获得编辑后的图像内容,并在所生成图层上显示上述编辑后的图像内容。
S106:将上述编辑后的图像内容以及与编辑操作指令相关的信息存储在所生成图层对应的存储区域中。
与编辑操作指令相关的信息可以包括:针对所生成图层上所显示的图像内容进行编辑时,各个编辑操作指令的生成顺序、各个编辑操作指令的内容等等。
本申请并不对编辑操作指令相关信息中所包含的具体内容进行限定。
由以上可见,本实施例提供的方案中,能够允许用户对所生成的图层上显示的图像内容进行编辑,并将编辑后的图像内容及与编辑操作指令相关的信息存储在所生成图层对应的存储区域中,这样有助于用户通过撤销等操作恢复编辑的图像内容,为用户生成图像提供了方便。
与上述的图像生成方法相对应,本发明实施例还提供了一种图像生成装置。
图4为本发明实施例提供的一种图像生成装置的结构示意图,该装置包括:
截图指令接收模块401,用于接收截图指令;
图层生成模块402,用于生成与所述截图指令对应的图层,其中,所生成图层对应的存储区域独立于根据之前已接收的截图指令生成的处于未关闭状态的图层对应的存储区域;
图像存储及显示模块403,用于将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中,并在所生成图层上显示用户所选择的屏幕区域的图像内容;
图像生成模块404,用于在接收到针对当前处于未关闭状态的至少一个图层的图像生成指令后,根据所述图像生成指令中包括的图层的标识对应的图层,生成所述图像生成指令对应的输出图像,其中,所述图像生成指令中包括:用户所选择图层的标识。
具体的,上述图像生成装置还可以包括:
编辑操作指令接收模块,用于在所述图像存储及显示模块403在所生成图层上显示用户所选择的屏幕区域的图像内容之后,接收针对所生成图层上所显示的图像内容的编辑操作指令;
图像显示模块,用于根据所述编辑操作指令,对所生成图层上所显示的图像内容进行编辑,获得编辑后的图像内容,并在所生成图层上显示上述编辑后的图像内容;
信息存储模块,用于将上述编辑后的图像内容以及与所述编辑操作指令相关的信息存储在所生成图层对应的存储区域中。
本发明的一种可选实现方式中,在所述图像生成指令中包括用户所选择的一个图层的标识的情况下,所述图像生成模块404,包括:
对象创建子模块,用于创建操作系统图像对象;
第一图像生成子模块,用于根据所述图像生成指令中包括的图层的标识,通过将用户所选择的图层上显示的图像内容拷贝至所创建的操作系统图像对象中的方式,生成所述图像生成指令对应的输出图像。
本发明的另一种可选实现方式中,在所述图像生成指令中包括用户所选择的多个图层的标识的情况下,所述图像生成模块404,包括:
图层确定子模块,用于根据所述图像生成指令中包括的图层的标识,确定用于生成所述图像生成指令对应的输出图像的图层;
第二图像生成子模块,用于按照预设的像素混合算法,对所确定的各个图层上显示的图像内容进行像素混合,生成所述图像生成指令对应的输出图像。
可选的,所述图像生成指令中还可以包括:基准图层的标识RL;
所述第二图像生成子模块,包括:
图层查找单元,用于查找所确定的各个图层中与标识为RL的图层大小不一致的图层;
缩放比例确定单元,用于根据所述标识为RL的图层的大小和所查找到的各个图层的大小,分别确定所查找到的各个图层对应的缩放比例,其中,按照所确定的缩放比例对查找到的图层进行缩放处理后得到的图层大小与所述标识为RL的图层的大小一致;
缩放处理单元,用于根据所查找到的各个图层对应的缩放比例分别对所查找到的各个图层上显示的图像内容进行缩放处理;
第一图像生成单元,用于对经上述缩放处理后的图像内容以及所确定的图层中与标识为RL的图层大小一致的图层上显示的图像内容进行像素混合,生成所述图像生成指令对应的输出图像。
可选的,所述图像生成指令中还可以包括:基准图层的标识RL;
所述第二图像生成子模块,包括:
区域确定单元,用于按照以下表达式获得所确定的任一图层Li用于像素混合的区域,
其中,wdi、hdi表示图层Li用于用于像素混合的区域的宽度和高度,wsi、hsi表示图层Li的宽度和高度,wrl、hrl表示标识为RL的图层的宽度和高度;
第二图像生成单元,用于根据所获得的各个像素混合区域上显示的图像内容,生成所述图像生成指令对应的输出图像。
具体的,所述预设的像素混合算法可以为:基于像素透明度的像素混合算法。
具体的,所述图层生成模块402可以具体用于生成与所述截图指令对应的一个或多个图层,其中,所生成的图层对应的存储区域之间相互独立。
具体的,所述当前处于未关闭状态的图层包括:当前处于前台处理状态的图层和当前处于后台待处理状态的图层;
所述图像生成装置还可以包括:
切换指令接收模块,用于接收图层切换指令,其中,所述图层切换指令中包括:待切换的当前处于后台待处理状态的图层的标识;
状态切换模块,用于切换当前处于前台处理状态的图层为后台待处理状态,并切换所述图层切换指令中包括的标识对应的图层的状态为前台处理状态。
由以上可见,上述各个实施例提供的方案中,接收到截图指令后,首先生成与该截图指令对应的图层,并将用户所选择的屏幕区域的图像内容存储在所生成图层对应的存储区域中,在所生成图层上显示用户所选择的屏幕区域的图像内容,生成图像时,接收到图像生成指令后,根据图像生成指令中包括的图层的标识对应的图层,生成该图像生成指令对应的输出图像。由于所生成图层对应的存储区域独立于其他处于未关闭状态的图层对应的存储区域,所以,多次进行图像截图时,不会存在数据覆盖问题,进而也无需退出当前图像生成过程即可实现多次图像截取,因此,能够简化多次图像截取的步骤。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。