一种基于图块模板且可添加修饰素材的图片合成方法

文档序号:7551028阅读:401来源:国知局
专利名称:一种基于图块模板且可添加修饰素材的图片合成方法
技术领域
本发明涉及一种图片合成方法,更具体地说,涉及一种基于图块模板且可添加修饰素材的图片合成方法。
背景技术
在图片的后期处理中,用户更倾向于将不同场景的图片合成在一张图片上显示,现有的图片拼贴技术均是利用某种算法将多张图片已某种固定的布局和模式拼在一起。这往往会使合成后的图片看起来单调不搭配,大大的降低了图片合成的质量,极大的限制了用户的需要。如果用户需要在合成的图片上加一些个性化的文字或者个性化的图案以及一些个性化的背景。现有技术的图片拼贴方法将无法满足这些需求,用户如果需要这些效果还需借助第三方软件在拼贴的结果图上进行添加文、图案或者修改背景等二次处理。操作过程非常繁琐,学习成本高。中国发明专利申请200810305020.4公开了一种数码照片合成方法,对存储在电子装置中的人物照片进行编辑得到数码人偶,选择需要进行照片合成的数码人偶;及将选择的数码人偶叠加覆盖在摄像头所拍摄的现场场景上以获得合成照片。上述发明专利的技术方案即是利用某种算法,将两个图片数据合成为一个图片,功能单一,合成图片的样式单调,存在现有技术的典型不足。

发明内容
本发明的目的在于克服现有技术的不足,提供一种基于图块模板、操作简单、布局不限、可自动进行添加文字、图案和背景的基于图块模板且可添加修饰素材的图片合成方法。本发明的技术方案如下:一种基于图块模板且可添加修饰素材的图片合成方法,步骤如下:I)创建空白画布,创建叠层素材数据缓存区,加载叠层素材数据,将叠层素材数据中的背景素材渲染成为画布的背景,并将背景素材保存于叠层素材数据缓存区;2)加载图块模板矢量数据,通过空间坐标转换算法转换成画布中的图块,使其能够完整显不在趣布中;3)获取一张图片数据流,合成到画布的一个图块中;4)重复步骤3),直至所有图块合成结束。作为优选,图块模板矢量数据基于图块模板配置文件进行实现,所述的图块模板配置文件格式如下:预留位;图块标记符,以此标记符判断是否为图块模板的配置文件;预留位;版本号:用于判断素材的版本号是否高于软件所支持的,如果高的话,则需要提示用户进行升级;图块的宽;图块的高;图块个数;预留位。
作为优选,叠层素材数据基于叠层素材配置文件实现,所述的叠层素材配置文件格式如下:预留位;叠层标记符,以此标记符判断是否为叠层素材的配置文件;预留位;版本号:用于判断素材的版本号是否高于软件所支持的,如果高的话,则需要提示用户进行升级;背景素材类型;海报标记符,以此标记符判断叠层素材中是否有海报图片。作为优选,所述的图片合成方法进一步包括步骤5):加载海报图片,将海报图片合成到步骤4)得到的合成图片上。作为优选,将海报图片与背景素材保存于叠层素材数据缓存区。作为优选,更换图块模板步骤如下:Al)清除画布,如果图块中显示有图片,则清除图片;A2)加载欲更换的图块模板矢量数据,通过空间坐标转换算法转换成画布中的图块,使其能够完整显不在画布中;A3)用步骤I)所述的保存在叠层素材数据缓存区的背景素材重新渲染成为画布的背景;A4)将原图片数据流重新合成到新布局的图块中;A5)如图有海报图片,则将叠层素材缓存区中的海报图片合成到画布中,完成图片合成操作。作为优选,步骤Al)在清除画布前,先将图块中的图片保存至图片数据缓存区;则步骤A4)从图片数据缓存区中获取原图片,将原图片数据流重新合成到新布局的图块中。作为优选,更换叠层素材步骤如下:BI)清除画布,清除步骤I)叠层素材数据缓存区中保存的叠层素材数据;B2)加载新的叠层素材数据,将新的叠层素材数据中的背景素材渲染成为画布的背景,将背景素材保存于叠层素材数据缓存区;B3)将原图片数据流重新合成到图块中;B4)如图有海报图片,则将叠层素材缓存区中的海报图片合成到画布中,完成图片合成操作。作为优选,步骤BI)在清除画布前,先将画布中使用的图块模板矢量数据和对应的图片数据保存至图块缓存区,则步骤B3)中,读取保存在图块缓存区的图块模板矢量数据和原图片,将原图片数据流重新合成到对应的图块中,然后删除图块缓存区。作为优选,步骤3)中,根据图块的显示范围,对图片进行裁减和/或缩放,截取图块显示范围内的图片。作为优选,图块的形状通过图块的路径确定,图块的路径的线标记具体实现如下:Cl)确定当前图块需要的最大矩形区域的起点、需要的最大矩形区域的宽和高、路径的起始点、路径所包含的边数;C2)根据当前图块第一条边的类型,确定第一条边的路径,然后根据当前图块第二条边的类型,确定第二条边的路径,循环生成所有边,直至确定完所有边;C3)循环步骤Cl)、步骤C2),直至确定完所有图块。作为优选,背景素材渲染成背景的方式由背景素材类型决定,具体如下:
如果背景素材类型为颜色,则根据当前颜色数据的长度,读取颜色数据;如果类型为平铺纹理,则根据当前平铺纹理数据的长度,读取纹理图片;如果类型为拉伸纹理,则根据当前拉伸纹理数据的长度,读取纹理图片。作为优选,海报图片数据根据海报标记符确定,具体如下:如果海报标记符为有,则根据当前海报图片数据的长度,读取海报图片;如果海报标记符为无,则海报图片置为空。本发明的有益效果如下:本发明所述的方法中,基于图块模板配置文件进行实现,合成图片的布局由图块模板配置文件提供,配置文件中包含固定个数图块(可以是规则的或不规则的)的矢量数据,从而实现图片布局,可以为固定大小的画布设计出无数种布局形式。本发明所述的方法只需读取或替换某个已经设计好的图块模板配置文件就可以合成出自己需要的拼贴布局。同时可通过空间坐标转换算法将配置文件图块的矢量数据转换成当前画布空间下相应的图块,从而保证其在画布中的完整显示。为了满足个性化图案、文字等海报素材的添加以及更加生动和个性化的背景,本发明所述的方法基于叠层素材配置文件进行背景实现,使用叠层素材配置文件,在配置文件中包含一张包含文字和图案的海报图片以及一种背景素材(背景素材可以是一种颜色、一张平铺纹理图、一张拉伸纹理图片),可以通过读取或者替换某个已经设计好的叠层素材配置文件来合成极具海报色彩的图片,轻松地实现布局的多样性以及文字、图片等素材的添加和背景的修改。本发明所述的方法还具有切换拼贴模板的设计、切换拼贴背景纹理及海报素材的设计,使得在使用过程中操作方便,可很容易地改变拼贴的效果,本发明的独有特征在于可以为拼图设计想要的布局并且可以为拼图添加想要的修饰素材和修改想要的背景。


图1是一种平铺纹理;图2是一种海报图片;图3是一种图块模板布局示意图;图4是图片合成的效果图。
具体实施例方式以下结合附图及实施例对本发明进行进一步的详细说明。一种基于图块模板且可添加修饰素材的图片合成方法,步骤如下:I)创建空白画布,创建叠层素材数据缓存区,加载叠层素材数据,将叠层素材数据中的背景素材(如图1所示)渲染成为画布的背景,并将背景素材保存于叠层素材数据缓存区;2)加载图块模板矢量数据,通过空间坐标转换算法转换成画布中的图块(如图3所不),使其能够完整显不在画布中;3)获取一张图片数据流,合成到画布的一个图块中,根据图块的显示范围,对图片进行裁减和/或缩放,截取图块显示范围内的图片;
4)重复步骤3),直至所有图块合成结束。为了达到更好的效果,本发明所述的方法进一步包括步骤5):加载海报图片,将海报图片合成到步骤4)得到的合成图片上。本发明所述的方法实施后的效果如图4所示。为了后续进行更换图块模块与更换背景,甚至其他修改操作,将海报图片与背景素材保存于叠层素材数据缓存区。图块模板矢量数据基于图块模板配置文件进行实现,所述的图块模板配置文件格式如下:预留位;图块标记符,以此标记符判断是否为图块模板的配置文件;预留位;版本号:用于判断素材的版本号是否高于软件所支持的,如果高的话,则需要提示用户进行升级;图块的宽;图块的高;图块个数;预留位。图块的形状通过图块的路径确定,图块的路径的线标记具体实现如下:Cl)确定当前图块需要的最大矩形区域的起点、需要的最大矩形区域的宽和高、路径的起始点、路径所包含的边数;C2)根据当前图块第一条边的类型,确定第一条边的路径,然后根据当前图块第二条边的类型,确定第二条边的路径,循环生成所有边,直至确定完所有边;C3)循环步骤Cl)、步骤C2),直至确定完所有图块。叠层素材数据基于叠层素材配置文件实现,所述的叠层素材配置文件格式如下:预留位;叠层标记符,以此标记符判断是否为叠层素材的配置文件;预留位;版本号:用于判断素材的版本号是否高于软件所支持的,如果高的话,则需要提示用户进行升级;背景素材类型;海报标记符,以此标记符判断叠层素材中是否有海报图片。背景素材渲染成背景的方式由背景素材类型决定,具体如下:如果背景素材类型为颜色,则根据当前颜色数据的长度,读取颜色数据;如果类型为平铺纹理,则根据当前平铺纹理数据的长度,读取纹理图片;如果类型为拉伸纹理,则根据当前拉伸纹理数据的长度,读取纹理图片。海报图片数据根据海报标记符确定,具体如下:如果海报标记符为有,则根据当前海报图片数据的长度,读取海报图片;如果海报标记符为无,则海报图片置为空。本发明所述的方法还可以更换图块模板,具体如下:Al)清除画布,如果图块中显示有图片,则清除图片;A2)加载欲更换的图块模板矢量数据,通过空间坐标转换算法转换成画布中的图块,使其能够完整显不在画布中;A3)用步骤I)所述的保存在叠层素材数据缓存区的背景素材重新渲染成为画布的背景;A4)将原图片数据流重新合成到新布局的图块中;A5)如图有海报图片,则将叠层素材缓存区中的海报图片合成到画布中,完成图片合成操作。步骤Al)在清除画布前,先将图块中的图片保存至图片数据缓存区;则步骤A4)从图片数据缓存区中获取原图片,将原图片数据流重新合成到新布局的图块中。本发明所述的方法还可以更换叠层素材,具体如下:BI)清除画布,清除步骤I)叠层素材数据缓存区中保存的叠层素材数据;B2)加载新的叠层素材数据,将新的叠层素材数据中的背景素材渲染成为画布的背景,将背景素材保存于叠层素材数据缓存区;B3)将原图片数据流重新合成到图块中;B4)如图有海报图片,则将叠层素材缓存区中的海报图片合成到画布中,完成图片合成操作。步骤BI)在清除画布前,先将画布中使用的图块模板矢量数据和对应的图片数据保存至图块缓存区,则步骤B3)中,读取保存在图块缓存区的图块模板矢量数据和原图片,将原图片数据流重新合成到对应的图块中,然后删除图块缓存区。图块模板数据决定图块的布局,叠层素材数据提供背景素材和海报图片,这个两部分数据都有各自的数据格式是独立的两个文件,允许随意结合这两种文件组成一个合成图片。其中图块模板配置文件格式如下:0x00位到0x10位为随机数;Oxll位到0x15位为PTLJB,以此标记符判断是否为拼图的配置文件;0x16位到第0x31位也是为随机数;0x32位开始如下格式:版本号:4字节,用于判断素材的版本号是否高于软件所支持的,如果高的话,则需要提示用户进行升级;结果图的宽:4字节;结果图的高:4字节;拼图的格子个数:4字节;预留8位:8字节,全部置为O。图块可以是各种不同的形状的,可以是规则的,也可以是不规则的。图块的形状通过图块的路径确定,图块的路径的线标记具体实现如下,以伪代码形式体现为:
权利要求
1.一种基于图块模板且可添加修饰素材的图片合成方法,其特征在于,步骤如下: 1)创建空白画布,创建叠层素材数据缓存区,加载叠层素材数据,将叠层素材数据中的背景素材渲染成为画布的背景,并将背景素材保存于叠层素材数据缓存区; 2)加载图块模板矢量数据,通过空间坐标转换算法转换成画布中的图块,使其能够完整显示在画布中; 3)获取一张图片数据流,合成到画布的一个图块中; 4)重复步骤3),直至所有图块合成结束。
2.根据权利要求1所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,图块模板矢量数据基于图块模板配置文件进行实现,所述的图块模板配置文件格式如下: 预留位;图块标记符,以此标记符判断是否为图块模板的配置文件;预留位;版本号:用于判断素材的版本号是否高于软件所支持的,如果高的话,则需要提示用户进行升级;图块的宽;图块的高;图块个数;预留位。
3.根据权利要求1所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,叠层素材数据基于叠层素材配置文件实现,所述的叠层素材配置文件格式如下: 预留位;叠层标记符,以此标记符判断是否为叠层素材的配置文件;预留位;版本号:用于判断素材的版本号是否高于软件所支持的,如果高的话,则需要提示用户进行升级;背景素材类型;海报标记符,以此标记符判断叠层素材中是否有海报图片。
4.根据权利要求1或2或3所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,所述的图片合成`方法进一步包括步骤5):加载海报图片,将海报图片合成到步骤4)得到的合成图片上。
5.根据权利要求4所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,将海报图片与背景素材保存于叠层素材数据缓存区。
6.根据权利要求5所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,更换图块模板步骤如下: Al)清除画布,如果图块中显示有图片,则清除图片; A2)加载欲更换的图块模板矢量数据,通过空间坐标转换算法转换成画布中的图块,使其能够完整显不在画布中; A3)用步骤I)所述的保存在叠层素材数据缓存区的背景素材重新渲染成为画布的背旦牙、; A4)将原图片数据流重新合成到新布局的图块中; A5)如图有海报图片,则将叠层素材缓存区中的海报图片合成到画布中,完成图片合成操作。
7.根据权利要求6所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,步骤Al)在清除画布前,先将图块中的图片保存至图片数据缓存区;则步骤A4)从图片数据缓存区中获取原图片,将原图片数据流重新合成到新布局的图块中。
8.根据权利要求5所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,更换叠层素材步骤如下: BI)清除画布,清除步骤I)叠层素材数据缓存区中保存的叠层素材数据;B2)加载新的叠层素材数据,将新的叠层素材数据中的背景素材渲染成为画布的背景,将背景素材保存于叠层素材数据缓存区; B3)将原图片数据流重新合成到图块中; B4)如图有海报图片,则将叠层素材缓存区中的海报图片合成到画布中,完成图片合成操作。
9.根据权利要求8所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,步骤BI)在清除画布前,先将画布中使用的图块模板矢量数据和对应的图片数据保存至图块缓存区,则步骤B3)中,读取保存在图块缓存区的图块模板矢量数据和原图片,将原图片数据流重新合成到对应的图块中,然后删除图块缓存区。
10.根据权利要求1或2或3所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,步骤3)中,根据图块的显示范围,对图片进行裁减和/或缩放,截取图块显示范围内的图片。
11.根据权利要求2所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,图块的形状通过图 块的路径确定,图块的路径的线标记具体实现如下: Cl)确定当前图块需要的最大矩形区域的起点、需要的最大矩形区域的宽和高、路径的起始点、路径所包含的边数; C2)根据当前图块第一条边的类型,确定第一条边的路径,然后根据当前图块第二条边的类型,确定第二条边的路径,循环生成所有边,直至确定完所有边; C3)循环步骤Cl)、步骤C2),直至确定完所有图块。
12.根据权利要求3所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,背景素材渲染成背景的方式由背景素材类型决定,具体如下: 如果背景素材类型为颜色,则根据当前颜色数据的长度,读取颜色数据; 如果类型为平铺纹理,则根据当前平铺纹理数据的长度,读取纹理图片; 如果类型为拉伸纹理,则根据当前拉伸纹理数据的长度,读取纹理图片。
13.根据权利要求3所述的基于图块模板且可添加修饰素材的图片合成方法,其特征在于,海报图片数据根据海报标记符确定,具体如下: 如果海报标记符为有,则根据当前海报图片数据的长度,读取海报图片; 如果海报标记符为无,则海报图片置为空。
全文摘要
本发明涉及一种基于图块模板且可添加修饰素材的图片合成方法,步骤如下1)创建空白画布,创建叠层素材数据缓存区,加载叠层素材数据,将叠层素材数据中的背景素材渲染成为画布的背景,并将背景素材保存于叠层素材数据缓存区;2)加载图块模板矢量数据,通过空间坐标转换算法转换成画布中的图块,使其能够完整显示在画布中;3)获取一张图片数据流,合成到画布的一个图块中;4)重复步骤3),直至所有图块合成结束。本发明所述的方法基于图块模板,操作简单、布局不限、可自动进行添加文字、图案和背景,满足个性化图案、文字等海报素材的添加以及更加生动和个性化的背景。
文档编号H04N1/387GK103139439SQ201310026348
公开日2013年6月5日 申请日期2013年1月24日 优先权日2013年1月24日
发明者张伟, 张长定 申请人:厦门美图网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1