图像生成方法和装置、终端设备与流程

文档序号:16247360发布日期:2018-12-11 23:42阅读:155来源:国知局
图像生成方法和装置、终端设备与流程

本说明书实施例涉及计算机技术领域,特别涉及一种图像生成方法和装置、终端设备。

背景技术

目前,图像已成为人们记录和分享信息的主要方式。现有的一些应用软件通常提供有图像合并功能;能够将多张图像的图像内容合并在一张图像中;便于传输或存储。

为了能够在终端设备的屏幕上完整显示合并后的图像,这些应用软件通常将多张图像的图像内容进行裁剪或缩小;进而将裁剪或缩小后的图像内容合并在一张图像中。这样,合并后的图像中无法完整保留所述多张图像的图像内容,造成了图像内容的损失。



技术实现要素:

本说明书实施例的目的是提供一种图像生成方法和装置、终端设备,以在保持图像内容完整的情况下,将多张图像的图像内容合并在一张图像中。

为实现上述目的,本说明书实施例提供一种图像生成方法,包括:获取用户选取的多张图像;创建第一画布;所述第一画布用于承载所述多张图像的图像内容;将至少一张图像的图像内容绘制在所述第一画布中;基于所述第一画布生成目标图像。

为实现上述目的,本说明书实施例提供一种图像生成装置,包括:获取单元,用于获取用户选取的多张图像;创建单元,用于创建第一画布;所述第一画布用于承载所述多张图像的图像内容;绘制单元,用于将至少一张图像的图像内容绘制在所述第一画布中;生成单元,用于基于所述第一画布生成目标图像。

为实现上述目的,本说明书实施例提供一种终端设备,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令实现以下步骤:获取用户选取的多张图像;创建第一画布;所述第一画布用于承载所述多张图像的图像内容;将至少一张图像的图像内容绘制在所述第一画布中;基于所述第一画布生成目标图像。

由以上本说明书实施例提供的技术方案可见,本说明书实施例中,终端设备可以获取用户选取的多张图像;可以创建第一画布,所述第一画布可以用于承载所述多张图像的图像内容;可以将至少一张图像的图像内容绘制在所述第一画布中;可以基于所述第一画布生成目标图像。这样所述终端设备能够在保持图像内容完整的情况下,将多张图像的图像内容合并在一张图像中。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书实施例一种图像生成方法的流程图;

图2为本说明书实施例一种图像选取界面示意图;

图3为本说明书实施例一种用户按下按键以产生图像合并指令的示意图;

图4为本说明书实施例一种用于提示用户等待的等待界面示意图;

图5为本说明书实施例一种用于提示合并完成的提示信息示意图。

图6为本说明书实施例一种图像生成装置的功能结构示意图;

图7为本说明书实施例一种终端设备的功能结构示意图。

具体实施方式

下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

请参阅图1、图2、图3、图4、和图5。本说明书实施例提供一种图像生成方法。所述图像生成方法以终端设备为执行主体。所述终端设备可以为可移动设备,例如智能手机、平板电子设备、便携式计算机、个人数字助理(pda)、车载设备、pos机、或智能穿戴设备等。或者,所述终端设备还可以为桌面设备,例如电视机、服务器、工控机(工业控制计算机)、个人计算机(pc机)、一体机、或智能自助终端(kiosk)等。本实施例的图像生成方法可以包括以下步骤。

步骤s10:获取用户选取的多张图像。

在本实施例中,所述图像的存储格式包括但不限于位图格式(bmp)、联合照片专家组格式(jpeg)、和标签图像文件格式(tiff)等。所述图像的颜色空间包括但不限于yuv色彩空间、ycbcr色彩空间、rgb色彩空间、和hsl色彩空间等。所述多张图像的尺寸可以全部相同,也可以部分相同,还可以全部不同。

所述终端设备可以提供图像选取界面。在所述图像选取界面可以显示多张图像的图像标识。图像标识可以用于标识图像,例如可以包括图像的名称等。所述终端设备可以采集针对多个图像标识的图像选取指令;可以获取所述图像选取指令指向的图像标识对应的图像。其中,所述终端设备可以通过一个窗口显示多张图像的图像标识,或者,还可以通过多个窗口显示多张图像的图像标识。所述图像选取指令可以是用户操作所触发产生的。例如,所述终端设备可以在检测到图像标识被按下、长按(按下超过预定时间)、单击、双击、或划过,进而产生图像选取指令。

当然,在所述图像选取界面还可以显示其它图像信息。所述终端设备还可以采集针对多个其它图像信息的图像选取指令;可以获取所述图像选取指令指向的其它图像信息对应的图像。例如,在所述图像选取界面还可以显示图像的缩略图。缩略图可以用于缩小显示图像的图像内容。

步骤s12:创建第一画布。

在本实施例中,所述第一画布可以用于承载所述多张图像的图像内容。所述第一画布的高度可以大于或等于所述多张图像的高度之和;所述第一图像的宽度可以大于或等于所述多张图像的宽度中的最大者。

所述终端设备可以在获取到用户选取的多张图像以后,直接创建第一画布。或者,所述终端设备还可以在获取到用户选取的多张图像以后;采集图像合并指令;可以创建第一画布。所述图像合并指令可以是用户操作所触发产生的。例如,所述终端设备可以在检测到一个或多个按键的任意组合,被按下、长按、单击、双击、或划过,进而产生图像合并指令。所述按键可以为虚拟按键、或物理按键等。另举一例,所述终端设备还可以在识别到预置手势,进而产生图像合并指令。所述预置手势例如可以为向左滑动、或向右滑动等。

所述终端设备可以根据第一预置规则,创建第一画布。所述第一预置规则可以为:以sumt作为第一画布的高度;以maxw作为第一画布的宽度。sumt可以为所述多张图像的高度之和;maxw可以为所述多张图像的宽度中的最大者。或者,所述第一预置规则还可以为:以sumt+(n-1)×g作为第一画布的高度;以maxw作为第一画布的宽度。n可以为所述多张图像的数量;g可以为纵向上的图像间隙。当然,所述第一预置规则还可以为其它内容,在此不再赘述。

步骤s14:将至少一张图像的图像内容绘制在所述第一画布中。

在本实施例中,所述终端设备可以将至少一张图像的图像内容逐一绘制在所述第一画布中。在绘制的过程中,针对待绘制的图像,所述终端设备可以确定该图像在所述第一画布对应的绘图区域;可以将该图像的图像内容绘制在所述绘图区域中。所述绘图区域的高度可以大于或等于该图像的高度。所述绘图区域的宽度可以大于或等于该图像的宽度。

所述终端设备可以根据第二预置规则,确定该图像在所述第一画布对应的绘图区域。所述第二预置规则可以与所述第一预置规则相关联。例如,所述第一预置规则可以为:以sumt作为第一画布的高度;以maxw作为第一画布的宽度。相应地,所述第二预置规则可以为:以纵向上距离第一画布上边界为sumy的位置作为绘图区域的上边界;以纵向上距离第一画布上边界为sumy+hi的位置作为绘图区域的下边界;以横向上距离第一画布左边界为的位置作为绘图区域的左边界;以横向上距离第一画布左边界为的位置作为绘图区域的右边界。sumy可以为所述多张图像中已被绘制图像的高度之和;hi可以为该图像的高度;wi可以为该图像的宽度。当然,所述第二预置规则还可以为其它内容。例如,所述第二预置规则还可以为:以纵向上距离第一画布上边界为sumy的位置作为绘图区域的上边界;以纵向上距离第一画布上边界为sumy+hi的位置作为绘图区域的下边界;以第一画布左边界作为绘图区域的左边界;以横向上距离第一画布左边界为wi的位置作为绘图区域的右边界。当然本领域技术人员能够理解,以上的第一预置规则和第二预置规则仅为示例。在实际过程中,所述第一预置规则和所述第二预置规则还可以分别为其它内容。

该图像的每个像素点在所述绘图区域可以对应有一个像素点。所述终端设备可以将该图像的每个像素点的属性值,作为绘图区域中对应像素点的属性值;从而实现将该图像的图像内容绘制在绘图区域中。其中,像素点的属性值可以用于表示像素点的色彩。根据该图像的色彩空间的不同,像素点的属性值也可以不同。例如,在该图像的色彩空间为rgb色彩空间时,像素点的属性值可以为24位编码的rgb值。当然,在该图像的色彩空间为其它色彩空间时,像素点的属性值还可以为其它编码值。

步骤s16:基于所述第一画布生成目标图像。

在本实施例中,所述目标图像可以包括所述多张图像的图像内容。所述多张图像的图像内容可以在所述目标图像中纵向排列。所述多张图像的图像内容可以在所述目标图像中能够保持完整。

在本实施例的一个实施方式中,所述终端设备可以将所述多张图像的图像内容均绘制在所述第一画布中;进而可以将所述第一画布存储为所述目标图像。

在本实施例的另一个实施方式中,受限于所述终端设备内存空间的容量,所述终端设备有可能无法将所述多张图像的图像内容均绘制在所述第一画布中。如此,为了防止内存溢出,在绘制的过程中,针对待绘制的图像,所述终端设备可以将该图像的数据量与内存空间的剩余容量进行比对。

在该图像的数据量小于或等于所述剩余容量时,所述终端设备可以将该图像的图像内容绘制在所述第一画布中。在该图像的数据量大于所述剩余容量时,所述终端设备便认为内存有可能溢出,可以基于所述第一画布中已绘制的图像内容生成第一图像,从而实现释放内存空间。这里图像的数据量可以理解为将图像读至内存时所需的内存空间。例如,一张尺寸为900×600像素、且色彩空间为rgb色彩空间的图像,其数据量为900×600×3=1620000字节,将其读至内存时所需的内存空间为1620000字节。所述第一图像可以包括所述多张图像中已被绘制图像的图像内容。所述终端设备可以直接将所述第一画布存储为第一图像。这样所述第一图像的尺寸可以与所述第一画布相同。或者,鉴于所述终端设备仅将所述多张图像中部分图像的图像内容绘制在所述第一画布中,所述第一画布可以包括空白区域。所述终端设备可以去除所述空白区域;可以将去除空白区域以后的第一画布存储为第一图像。这样所述第一图像的尺寸可以小于所述第一画布。所述终端设备可以创建第二画布;可以将至少一张未被绘制图像的图像内容绘制在所述第二画布中;可以基于所述第二画布生成第二图像;可以基于所述第一图像和所述第二图像生成目标图像。所述第二画布可以用于承载所述多张图像中未被绘制图像的图像内容。所述第二画布的高度可以大于或等于所述多张图像中未被绘制图像的高度之和;所述第二画布高度的确定过程可以参见前述第一画布高度的确定过程。例如,所述终端设备可以以所述多张图像中未被绘制图像的高度之和作为第二画布的高度。此外,所述终端设备将图像的图像内容绘制在第二画布的过程,可以与将图像的图像内容绘制在第一画布的过程,相类似。

进一步地,所述终端设备可以将所述多张图像中未被绘制图像的图像内容均绘制在所述第二画布中;进而可以将所述第二画布存储为第二图像。所述第二图像可以包括所述多张图像中未被绘制图像的图像内容。所述终端设备可以将所述第二图像和所述第一图像合并为目标图像。合并的方式例如可以包括拼接等。

进一步地,受限于所述终端设备内存空间的容量,所述终端设备有可能无法将所述多张图像中未被绘制图像的图像内容均绘制在所述第二画布中。如此,为了防止内存溢出,在绘制的过程中,针对待绘制的图像,所述终端设备还可以将该图像的数据量与内存空间的剩余容量进行比对。在该图像的数据量小于或等于所述剩余容量时,所述终端设备可以将该图像的图像内容绘制在所述第二画布中。在该图像的数据量大于所述剩余容量时,所述终端设备便认为内存有可能溢出,可以基于所述第二画布中已绘制的图像内容生成第二图像,从而实现释放内存空间。所述终端设备可以创建第三画布;可以将至少一张未被绘制图像的图像内容绘制在所述第三画布中;可以基于所述第三画布生成第三图像;可以基于所述第一图像、所述第二图像、所述第三图像生成目标图像。可见在本实施方式中,根据内存空间的容量和所述多张图像的数据量,所述终端设备还可以创建三个或三个以上画布;可以将所述多张图像的图像内容分别绘制在所述三个或三个以上画布中;可以分别将所述三个或三个以上画布存储为图像;可以基于存储的图像生成目标图像。

在本实施例中,所述终端设备可以获取用户选取的多张图像;可以创建第一画布,所述第一画布用于承载所述多张图像的图像内容;可以将至少一张图像的图像内容绘制在所述第一画布中;可以基于所述第一画布生成目标图像。这样所述终端设备能够在保持图像内容完整的情况下,将多张图像的图像内容合并在一张图像中。

请参阅图6。本说明书实施例还提供一种图像生成装置。所述图像生成装置可以包括以下单元。

获取单元20,用于获取用户选取的多张图像;

创建单元22,用于创建第一画布;所述第一画布用于承载所述多张图像的图像内容;

绘制单元24,用于将至少一张图像的图像内容绘制在所述第一画布中;

生成单元26,用于基于所述第一画布生成目标图像。

请参阅图7。本说明书实施例还提供一种终端设备。所述终端设备可以包括存储器和处理器。

在本实施例中,所述存储器可以所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或u盘等。所述存储器可以用于存储计算机指令。

在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以执行所述计算机指令实现以下步骤:获取用户选取的多张图像;创建第一画布;所述第一画布用于承载所述多张图像的图像内容;将至少一张图像的图像内容绘制在所述第一画布中;基于所述第一画布生成目标图像。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于图像生成装置实施例和终端设备实施例而言,由于其基本相似于图像生成方法实施例,所以描述的比较简单,相关之处参见图像生成方法实施例的部分说明即可。

另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

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

本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

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