一种应用程序视图生成图像的方法及装置与流程

文档序号:11864410阅读:223来源:国知局
一种应用程序视图生成图像的方法及装置与流程

本发明涉及应用程序技术领域,尤其涉及一种应用程序视图生成图像的方法及装置。



背景技术:

应用程序app应用中,用户的使用和开发者开发过程中有时候会遇到使用界面快照或者视图合成,需要将某一个或者某几个app的视图窗口,合成一张动态可变并且有效的图像,便于用户使用或者app自身应用。但是由于开发者针对图像合成只是用于当前app或者当前的功能,而很多应用程序中要用到图像合成的功能,但是没有一个很好的应用程序接口api能完善这一功能,当其他应用要使用图像合成功能时候,开发代码的成本很高,这存在可拓展性差等缺陷。

对于将视图生成图像,目前来说常见的有微信中的头像生成、美图秀秀的拼图等,微信的群头像生成的地方应该在服务器端,通过服务器对群头像进行图片合成,然后将处理的图片返给微信前端,微信前端缺少图像生成机制。美图秀秀只是针对于照片的合成,对于视图的整体合成,没有做出成熟的逻辑。

现有技术的图片布局比较死板,用户不能随意的根据自己的需求修改图像的展现形式,有的即使能改,也需要在某些逻辑规则内进行修改,不能完全动态(所谓动态,就是指开发者或者用户针对自己的需求灵活多样的选择适合的图像生成逻辑来生成所需图像)的根据图像或者视图数目,来合成不同类型的所需要的图像,并且现有技术对图像的分辨率,清晰度以及存储大小,不能做出很好的自定义。另外,对外接口使用上非常的复杂,可用性不是很好。不能满足app开发中的大部分视图的合成需求。



技术实现要素:

本发明要解决的技术问题是,提供一种应用程序视图生成图像的方法及装置,以解决在应用程序中没有统一的视图合成逻辑和接口的问题。

本发明采用的技术方案是,所述应用程序视图生成图像的方法,应用于客户端的图像生成接口中,所述方法包括:

接收应用程序针对待合成的视图调用所述图像生成接口时传入的所述视图及图像合成参数;

当判断所述视图符合合成条件时,判断是否需要用户手动编辑,若是,则基于应用程序传入的第一用户指令和所述图像合成参数对所述视图进行合成处理,否则根据所述图像合成参数对所述视图进行合成处理;

将合成处理的结果返回给所述应用程序。

进一步的,所述图像合成参数包括:渲染参数、质量参数和视图数目;所述质量参数包括:分辨率、清晰度和存储大小;

所述视图数目为一个或多个;

所述第一用户指令包括:用户对于视图位置、大小和展现形式的设定指令。

进一步的,所述方法,还包括:

在判断所述视图是否符合合成条件之前,判断接收到的所述图像合成参数是否超出限定范围,若是,则提示用户对所述图像合成参数进行修改并重新进行是否超出限定范围的判断,否则判断所述视图是否符合合成条件。

进一步的,所述根据所述图像合成参数对所述视图进行合成处理,包括:

根据视图数目确定出适用的图像合成模型;所述图像合成模型中包含所述视图的横向和纵向的排版情况;

在CoreGraphics框架下,根据所述图像合成参数和确定出的所述图像合成模型对所述视图进行合成处理。

进一步的,所述判断所述视图是否符合合成条件,包括:

解析所述视图的层级以确定所述视图的深度;

判断所述视图的深度是否达到设定的深度阈值,若是,则判定所述视图符合合成条件,否则判定所述视图不符合合成条件。

进一步的,所述方法,还包括:

当所述视图不符合合成条件时,提示给用户并根据应用程序传入的第二用户指令和所述图像合成参数对所述视图进行合成处理。

本发明还提供一种应用程序视图生成图像的装置,应用于客户端的图像生成接口中,所述装置包括:

启动模块,用于接收应用程序针对待合成的视图调用所述图像生成接口时传入的所述视图及图像合成参数;

处理模块,用于当判断所述视图符合合成条件时,判断是否需要用户手动编辑,若是,则基于应用程序传入的第一用户指令和所述图像合成参数对所述视图进行合成处理,否则根据所述图像合成参数对所述视图进行合成处理;

返回模块,用于将合成处理的结果返回给所述应用程序。

进一步的,所述图像合成参数包括:渲染参数、质量参数和视图数目;所述质量参数包括:分辨率、清晰度和存储大小;

所述视图数目为一个或多个;

所述第一用户指令包括:用户对于视图位置、大小和展现形式的设定指令。

进一步的,所述处理模块,还用于:

在判断所述视图是否符合合成条件之前,判断接收到的所述图像合成参数是否超出限定范围,若是,则提示用户对所述图像合成参数进行修改并重新进行是否超出限定范围的判断,否则判断所述视图是否符合合成条件。

进一步的,在不需要用户手动编辑的情况下,所述处理模块,具体用于:根据视图数目确定出适用的图像合成模型;所述图像合成模型中包含所述视图的横向和纵向的排版情况;

在CoreGraphics框架下,根据所述图像合成参数和确定出的所述图像合成模型对所述视图进行合成处理。

进一步的,所述处理模块,具体用于:

解析所述视图的层级以确定所述视图的深度;

判断所述视图的深度是否达到设定的深度阈值,若是,则判定所述视图符合合成条件,否则判定所述视图不符合合成条件。

进一步的,所述处理模块,还用于:当视图不符合合成条件时,提示给用户根据应用程序传入的第二用户指令和所述图像合成参数对所述视图进行合成处理。

采用上述技术方案,本发明至少具有下列优点:

本发明所述应用程序视图生成图像的方法及装置,对app的合成功能进行了封装,便于开发者的使用,为用户提供更便捷的图像处理功能。本发明通过动态处理、合理的参数配置,提供给使用者极大的灵活性和可操作性,APP开发者可以根据自己的需求对视图的合成效果进行自定义,也可以简单便捷的将自己想要处理的视图生成图像。由于本发明对内部逻辑进行了很好的封装,只要使用者传入相应的图像合成参数,就可以很方便的调用接口,减少了使用的复杂度,程序的灵活性高。

附图说明

图1为本发明第一实施例的应用程序视图生成图像的方法流程图;

图2为本发明第二实施例的应用程序视图生成图像的方法流程图;

图3为本发明第三实施例的应用程序视图生成图像的方法流程图;

图4为本发明第四实施例的应用程序视图生成图像的装置组成结构示意图;

图5为本发明第七实施例的图像生成接口的组成结构示意图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

本发明第一实施例,一种应用程序视图生成图像的方法,应用于客户端的图像生成接口中,如图1所示,包括以下具体步骤:

步骤S101,接收应用程序针对待合成的视图调用所述图像生成接口时传入的所述视图及图像合成参数;

具体的,所述图像合成参数包括:渲染参数、质量参数和视图数目;所述质量参数包括:分辨率、清晰度和存储大小;所述待合成的视图数目为一个或多个。

步骤S102,当判断所述视图符合合成条件时,判断是否需要用户手动编辑,若是,则基于应用程序传入的第一用户指令和所述图像合成参数对所述视图进行合成处理,否则根据所述图像合成参数对所述视图进行合成处理;

具体的,所述第一用户指令包括:用户对于视图位置、大小和展现形式的设定指令。

在步骤S102中,判断所述视图是否符合合成条件,包括:

解析所述视图的层级以确定所述视图的深度;

判断所述视图的深度是否达到设定的深度阈值,若是,则判定所述视图符合合成条件,否则判定所述视图不符合合成条件。

进一步的,步骤S102中,所述根据所述图像合成参数对所述视图进行合成处理,包括:

根据视图数目确定出适用的图像合成模型;所述图像合成模型中包含所述视图的横向和纵向的排版情况;

在CoreGraphics框架下,根据所述图像合成参数和确定出的所述图像合成模型对所述视图进行合成处理。

步骤S103,将合成处理的结果返回给应用程序。

本发明第二实施例,一种应用程序视图生成图像的方法,本实施例所述方法与第一实施例大致相同,区别在于,如图2所示,本实施例的所述方法,在步骤S102判断所述视图是否符合合成条件之前,还包括以下具体步骤:

步骤S102-A,判断接收到的所述图像合成参数是否超出限定范围,若是,则提示用户对所述图像合成参数进行修改并重新进行是否超出限定范围的判断,否则执行步骤S102。

本发明第三实施例,一种应用程序视图生成图像的方法,本实施例所述方法与第一实施例大致相同,区别在于,如图3所示,本实施例的所述方法中,步骤S102还包括:

当视图不符合合成条件时,提示给用户并根据应用程序传入的第二用户指令和所述图像合成参数对所述视图进行合成处理。

具体的,由于此时有视图不符合合成条件,所以第二用户指令需要指示不符合合成条件的视图不参与合成,或者,指示所有视图均参与合成。

本发明第四实施例,与第一实施例对应,本实施例介绍一种应用程序视图生成图像的装置,应用于客户端的图像生成接口中,如图4所示,所述装置包括以下组成部分:

1)启动模块401,用于接收应用程序针对待合成的视图调用所述图像生成接口时传入的所述视图及图像合成参数;

具体的,所述图像合成参数包括:渲染参数、质量参数和视图数目;所述质量参数包括:分辨率、清晰度和存储大小;

所述视图数目为一个或多个。

2)处理模块402,用于当判断所述视图符合合成条件时,判断是否需要用户手动编辑,若是,则基于应用程序传入的第一用户指令和所述图像合成参数对所述视图进行合成处理,否则根据所述图像合成参数对所述视图进行合成处理;

具体的,所述第一用户指令包括:用户对于视图位置、大小和展现形式的设定指令。

处理模块402,具体用于:

解析所述视图的层级以确定所述视图的深度;

判断所述视图的深度是否达到设定的深度阈值,若是,则判定所述视图符合合成条件,否则判定所述视图不符合合成条件。

进一步的,在不需要用户手动编辑的情况下,处理模块402,具体用于:根据视图数目确定出适用的图像合成模型;所述图像合成模型中包含所述视图的横向和纵向的排版情况。在CoreGraphics框架下,根据所述图像合成参数和确定出的所述图像合成模型对所述视图进行合成处理。

3)返回模块403,用于将合成处理的结果返回给所述应用程序。

本发明第五实施例,一种应用程序视图生成图像的装置,本实施例所述装置与第四实施例大致相同,区别在于,本实施例的所述装置中,处理模块402,还用于:在判断所述视图是否符合合成条件之前,判断接收到的所述图像合成参数是否超出限定范围,若是,则提示用户对所述图像合成参数进行修改并重新进行是否超出限定范围的判断,否则判断所述视图是否符合合成条件。

本发明第六实施例,一种应用程序视图生成图像的装置,本实施例所述装置与第四实施例大致相同,区别在于,本实施例的所述装置中,处理模块402,还用于:当视图不符合合成条件时,提示给用户根据应用程序传入的第二用户指令和所述图像合成参数对所述视图进行合成处理。

本发明第七实施例,本实施例是在上述实施例的基础上,结合附图5介绍一个本发明的应用实例。

如图5所示,本发明实施例的应用程序视图生成图像的图像生成接口,设置于客户端侧,所述图像生成接口包括:图像合成模块(类似于本发明第四实施例中的处理模块)和图像管理模块(类似于本发明第四实施例中的启动模块和返回模块)。外部应用程序只要调用图像生成接口中的图像管理模块就能达到视图处理,图像合成的目的。

本发明实施例的所述图像生成接口的执行流程如下:

步骤1,外部应用通过调用图像生成接口时,图像生成接口中的图像管理模块传入需要处理的视图和图像合成参数。

步骤2,判断视图是否符合合成条件,若是,则执行步骤3,否则提示给用户根据用户的指令执行步骤3进行合成。此时,用户可以通过指令选择符合合成条件的视图进行合成,也可以仍然选择传入的所有进行合成。

具体的,解析所述视图的层级以确定所述视图的深度;

判断所述视图的深度是否达到设定的深度阈值,若是,则判定所述视图符合合成条件,否则判定所述视图不符合合成条件。

视图的深度能够反映出该视图是否已经加载完成,若加载完成,则该视图的深度能够达到设定的深度阈值,否则达不到设定的深度阈值。

步骤3,判断传入的图像合成参数(包括:渲染参数、质量参数和视图数目)是否符合合成规则(合成规则是开发者自定义的被用户使用的规则,可以通过设定传入的参数的最大数值范围来确定合成规则),如果符合,则调用合成逻辑,在CoreGraphics框架下依据图像模型对视图进行合成处理,生成所需的图像;如果不符合,则调用其他合成逻辑,即根据用户的指令,来合成相关的视图。

比如,用户要合成一个有三张视图的图像,但是其中一个视图的图像加载未完成,在步骤2中进行视图有效性判断时就会发现未加载完成的视图无效,则通过异常处理,给用户提示,是否继续进行,如果继续进行是选择合成一个已经加载完的两个视图的图像还是选择合成带有未加载完的视图的三个视图的图像。进行视图合成时需要判断传入的图像合成参数是否符合合成规则,若符合则继续进行合成,生成用户所需的图像,如果不符合,则提示用户对所述图像合成参数进行修改并重新进行是否符合合成规则的判断。

再比如:用户要对改图像进行质量压缩,只要传入相应的质量参数和分辨率参数就会生成相应的图像,如果传入的参数超出界限或者范围,就判定不符合逻辑规则,就会报异常,告诉用户参数错误。

通过这个流程,外部应用能够很好的处理和得到所需要的视图图像,解决了开发中存在的开发上的工作量,并且能够很容易的集成到应用中。

本发明实施例利用了CoreGraphics框架,将简单或者复杂的视图,通过一系列的图像处理逻辑,生成所需要的图像,并可以用于保存和使用。

本发明实施例实现了在客户端生成所需图像的功能,不需要服务器参与处理。

本发明实施例成功提出了视图的整体合成的基本逻辑需求,能够处理1张到九张等不同数目的图片在界面上的动态布局和图像生成,用户可以根据自己的需求动态的编辑图片位置及图像的大小和展现形式。满足了能够app开发中的大部分视图合成需求,完善了生成机制,减少了使用的复杂度。

本发明实施例可以在保证视图分辨率的前提下,通过对视图的压缩,减小视图的存储大小,而且通过输入分辨率的参数值,灵活改变分辨率大小。

本发明实施例对上述功能进行了完善加强和封装,其他应用能够很便捷简单的移植该技术到应用中,减少了开发成本,并且提高了图像合成和处理的能力。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

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