一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于图片设计源文件的图片生成方法、装置及电子设备与流程

2022-12-20 02:23:16 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种基于图片设计源文件的图片生成方法、装置及电子设备。


背景技术:

2.在很多业务场景中,需要根据在绘图软件中设计的图片设计稿生成对应的图片。比如,在设计人员在sketch等绘图软件中设计了图片的设计稿后,需要基于该图片设计稿生成对应的图片,比如结合用户的个人信息生成用户的个性化图片,从而用户可以将生成的图片分享给其它用户,或者,利用生成的图片在应用中发表状态等。
3.相关技术中,基于在绘图软件中设计的图片设计稿生成对应的图片时,需要人工根据图片设计稿计算出绘图所需要的数据,再基于这些数据通过程序进行绘图,生成对应图片。这种图片生成方式,人工成本高、效率低,且人工计算绘图所需要的数据容易出错,从而易导致生成的图片与图片设计稿不一致,生成的图片的准确性差。


技术实现要素:

4.本技术提供一种基于图片设计源文件的图片生成方法、装置及电子设备,以解决相关技术中的图片生成方法存在的人力成本、效率低,且准确性差的技术问题。
5.本技术第一方面实施例提供一种基于图片设计源文件的图片生成方法,该方法包括:获取图片设计源文件;对图片设计源文件进行解析,得到多个绘图因子的属性信息;基于多个绘图因子的属性信息进行绘图,得到第一目标图片。
6.本技术第二方面实施例提供一种基于图片设计源文件的图片生成装置,包括:第一获取模块,用于获取图片设计源文件;解析模块,用于对图片设计源文件进行解析,得到多个绘图因子的属性信息;第一绘图模块,用于基于多个绘图因子的属性信息进行绘图,得到第一目标图片。
7.本技术第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时,实现如本技术上述第一方面实施例所述的方法。
8.本技术第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本技术上述第一方面实施例所述的方法。
9.本技术第五方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本技术上述第一方面实施例所述的方法。
10.本技术实施例提供的技术方案可以包括以下有益效果:
11.通过在获取图片设计源文件后,对图片设计源文件进行解析,得到多个绘图因子的属性信息,再基于多个绘图因子的属性信息进行绘图,得到第一目标图片,实现了自动解析图片设计源文件,得到绘图所需的数据,进而基于绘图所需的数据自动绘图得到对应图片,减少了生成图片所需的人工成本,提高了图片生成效率,且准确性高。
12.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
13.在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本技术公开的一些实施方式,而不应将其视为是对本技术范围的限制。
14.图1是根据本技术第一实施例的基于图片设计源文件生成的第一目标图片的示例图;
15.图2是根据本技术第一实施例的基于图片设计源文件的图片生成方法的流程示意图;
16.图3是根据本技术第二实施例的基于图片设计源文件的图片生成方法的流程示意图;
17.图4是根据本技术第三实施例的基于图片设计源文件的图片生成方法的流程示意图;
18.图5是根据本技术第四实施例的基于图片设计源文件的图片生成装置的结构示意图;
19.图6是用来实现本技术实施例的基于图片设计源文件的图片生成方法的电子设备的框图。
具体实施方式
20.下面详细描述本技术/公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术/公开,而不能理解为对本技术/公开的限制。
21.参照下面的描述和附图,将清楚本技术/公开的实施例的这些和其他方面。在这些描述和附图中,具体公开了本技术/公开的实施例中的一些特定实施方式,来表示实施本技术/公开的实施例的原理的一些方式,但是应当理解,本技术/公开的实施例的范围不受此限制。相反,本技术/公开的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
22.需要说明的是,本公开申请的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
23.可以理解的是,以图1所示的图片为例,相关技术中的图片生成方法,基于在绘图软件中设计的图片设计稿,生成图1所示的图片时,需要人工根据图片设计稿计算出绘图所需要的数据。比如,假设以图片左上角为坐标系的原点,对于图1中的文字“今日运势”,需要人工根据“今日运势”与图片的边之间的距离,计算该文字的位置坐标;对于图1中的文字“福”,需要人工根据“福”与矩形框10之间的距离,以及矩形框10与图片的边之间的距离,计算“福”的位置坐标;对于图1中的头像20,需要人工计算头像20的位置坐标、确定头像20的圆角等。进而基于绘图所需要的数据通过程序进行绘图,生成对应图片。这种图片生成方
式,人工成本高、效率低,且人工计算绘图所需要的数据容易出错,从而易导致生成的图片与图片设计稿不一致,生成的图片的准确性差。
24.本技术提供一种基于图片设计源文件的图片生成方法,通过在获取图片设计源文件后,对图片设计源文件进行解析,得到多个绘图因子的属性信息,再基于多个绘图因子的属性信息进行绘图,得到第一目标图片,实现了自动解析图片设计源文件,得到绘图所需的数据,进而基于绘图所需的数据自动绘图得到对应图片,减少了生成图片所需的人工成本,提高了图片生成效率,且准确性高。
25.为了清楚说明本技术的各实施例,首先对本技术实施例中涉及到的技术名词进行解释说明。
26.在本技术/公开的描述中,术语“多个”指两个或两个以上。
27.在本技术的描述中,“图片设计源文件”,指在绘图软件中设计了图片的设计稿后,以绘图软件对应格式保存的源文件。其中,绘图软件可以为sketch、figma、ps等绘图软件,本技术对此不作限制。本技术各实施例以图片设计源文件为以sketch绘图软件对应格式保存的源文件为例进行说明。
28.在本技术的描述中,“画板信息”,为图片设计源文件中与画板相关的信息,用于描述画板的相关属性。比如,画板信息可以包括表示画板中包括哪些图层(layer)、各图层所属的图层类型、各图层的大小、位置、填充物、颜色等的信息。其中,图层所属的图层类型,可以包括位图(bitmap)、填充(oval)、文本(text)、矩形(rectangular,缩写为rect)、长方形(rectangle)、编组(group)等类型。其中,在图层属于编组类型时,表示该图层包括多个子图层。其中,每个子图层也可以具有所属的上述各图层类型。
29.在本技术的描述中,“描述信息”,为图片设计源文件的画板信息中,与对应画板包括的图层相关的信息。比如,某个图层的描述信息,可以包括该图层所属的图层类型、该图层的大小、位置、填充物、颜色等的信息。画板信息,包括对应画板中多个图层的描述信息。
30.在本技术的描述中,图层的“属性信息”,用于表示图层的属性。比如图层的属性信息,可以包括表示图层的标识的标识信息、表示图层所属的图层类型的类型信息、表示图层的名称的名称信息、表示图层对应的资源图片的链接地址的链接地址信息、表示图层的位置坐标的坐标信息、表示图层的所在层级的层级信息(其中,层级为0,表示图层在最底层)、表示图层的宽度大小的宽度信息、表示图层的高度大小的高度信息、表示图层的圆角大小的角弧度信息、表示图层的透明度大小或不透明度大小的透明度信息、表示图层所包含的内容的内容信息、表示图层的字体粗细的字体粗细信息、表示图层的颜色的颜色信息、表示图层的文字的字号大小的字号信息、表示图层的对齐方式的对齐方式信息、表示图层的底色的底色信息等属性信息中的至少一个。
31.其中,图层的每个属性信息可以包括属性项和对应的属性值。比如,图层的类型信息,可以包括属性项“类型”(本技术中称为类型属性项)以及对应的属性值“bitmap”,表示该图层所属图层类型为位图类,即该图层属于位图类;图层的坐标信息,可以包括属性项“x”及对应的属性值“375”,以及包括属性项“y”及对应的属性值“1500”,表示该图层的x轴坐标为375,y轴坐标为1500。
32.在本技术的描述中,“通用属性项”,为多个图层的属性信息中同时包括的属性项。比如,多个图层的属性信息中均包括属性项“x”及对应的属性值、属性项“y”及对应的属性
值、属性项“宽度”及对应的属性值、属性项“高度”及对应的属性值等,则“x”、“y”、“宽度”、“高度”为多个图层的通用属性项。
33.在本技术的描述中,“绘图因子”,为组成图片的单元,并且每个绘图因子具有所属的绘图因子类型。其中,绘图因子类型可以包括图像(image)、文本、矩形、线段(line)等类型。比如图1中的文字“今日运势”对应一个属于文本类型的绘图因子,图1中的头像20对应一个属于图像类型的绘图因子,图1中的“无事心不空,有事心不乱,大事心不畏,小事心不慢”对应一个属于文本类型的绘图因子,图1中的二维码对应一个属于图像类型的绘图因子,图1中的背景图对应一个属于图像类型的绘图因子,图1中的“2022年3月29日星期六”对应一个属于文本类型的绘图因子等。
34.在本技术的描述中,绘图因子的“属性信息”,用于表示绘图因子的属性。比如绘图因子的属性信息,可以包括表示绘图因子的标识的标识信息、表示绘图因子所属的绘图因子类型的类型信息、表示绘图因子的名称的名称信息、表示绘图因子对应的资源图片的链接地址的链接地址信息、表示绘图因子的位置坐标的坐标信息、表示绘图因子的所在层级的层级信息(其中,层级为0,表示绘图因子在最底层,绘制时需要先进行绘制)、表示绘图因子的宽度大小的宽度信息、表示绘图因子的高度大小的高度信息、表示绘图因子的圆角大小的角弧度信息、表示绘图因子的透明度大小或不透明度大小的透明度信息、表示绘图因子所包含的内容的内容信息、表示绘图因子的字体粗细的字体粗细信息、表示绘图因子的颜色的颜色信息、表示绘图因子的文字的字号大小的字号信息、表示绘图因子的对齐方式的对齐方式信息、表示绘图因子的底色的底色信息等属性信息中的至少一个。
35.其中,绘图因子的每个属性信息可以包括属性项和对应的属性值。比如,绘图因子的类型信息,可以包括属性项“类型”(本技术中称为类型属性项)以及对应的属性值“图像”,表示该绘图因子所属绘图因子类型为图像类型,即该绘图因子属于图像类型;绘图因子的坐标信息,可以包括属性项“x”及对应的属性值“375”,以及包括属性项“y”及对应的属性值“1500”,表示该绘图因子的x轴坐标为375,y轴坐标为1500;绘图因子的层级信息,可以包括属性项“层级”(本技术中称为层级属性项)以及对应的属性值“1”,表示该绘图因子所在层级的层级信息为第1层;绘图因子的链接地址信息,可以包括属性项“链接地址”(本技术中称为链接地址属性项)以及对应的属性值“https://xxx.com.xxxx.png”,表示该绘图因子对应的资源图片的链接地址为“https://xxx.com.xxxx.png”。
36.在本技术的实施例中,可以将图片设计源文件的画板中除编组类型外的其它图层类型的每个图层,以及属于编组类型的图层中的每个子图层,作为一个绘图因子,从而根据绘图因子对应的图层或子图层的属性信息,确定该绘图因子的属性信息。
37.在本技术的描述中,“数据结构”是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
38.在本技术的描述中,“资源图片”,指图片设计源文件中作为资源的图片。对于某些绘图因子来说,需要基于对应的资源图片才能进行绘制。比如,图1中的头像20、二维码图像需要基于各自对应的资源图片才能绘制得到。
39.在本技术的描述中,“抽象语法树”(abstract syntax tree,简称ast),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。本技术实施例中的抽象语法树上的节点至少包括画板对应的节
点、画板中每个图层对应的节点以及属于编组类型的图层中每个子图层对应的节点。
40.在本技术的描述中,“用户信息”指用户有关的信息,比如用户的头像、用户的出生日期、用户的运动信息等。其中,运动信息比如包括运动时长、运动距离、运动步数等。
41.在本技术的描述中,“日期信息”指日期有关的信息,比如生成图片时的当前农历日期、当前公历日期等。
42.在本技术的描述中,“可视化界面”指采用图形方式显示的计算机操作用户介面。
43.在本技术的描述中,“公众号”为在公众平台上申请的应用账号,例如某即时通讯软件公众平台提供的公众号,通过该公众号,用户可在该公众平台上实现同特定群体的文字、图片、语音、视频的全方位沟通和互动,从而形成一种线上线下互动营销方式。
44.以下结合附图描述根据本技术/公开实施例的基于图片设计源文件的图片生成方法、装置、电子设备及存储介质。
45.首先结合附图,对本技术实施例中的基于图片设计源文件的图片生成方法进行说明。
46.图2是本技术第一实施例的基于图片设计源文件的图片生成方法的流程图。如图2所示,该方法可包括以下步骤:
47.步骤201,获取图片设计源文件。
48.需要说明的是,本技术实施例的基于图片设计源文件的图片生成方法,可以由基于图片设计源文件的图片生成装置执行,以下将基于图片设计源文件的图片生成装置简称为图片生成装置。其中,该图片生成装置可以由软件和/或硬件实现,该图片生成装置可以为电子设备,或者也可以配置在电子设备中,以实现基于图片设计源文件,低成本、高效、准确的生成对应的第一目标图片。其中,该电子设备可以包括但不限于终端设备、服务器等,该实施例对电子设备不作具体限定。其中,该电子设备可以是个人电脑、移动终端等,移动终端例如为手机、平板电脑、个人数字助理等具有各种操作系统的硬件设备。
49.在一些实施例中,图片生成装置可以提供文件上传接口,用户可以将图片设计源文件通过该文件上传接口进行上传,从而图片生成装置即可通过该文件上传接口获取用户上传的图片设计源文件。
50.步骤202,对图片设计源文件进行解析,得到多个绘图因子的属性信息。
51.参考图1,图1中的文字“无事心不空,有事心不乱,大事心不畏,小事心不慢”对应一个属于文本类型的绘图因子,以该绘图因子为例,图片生成装置通过对图片设计源文件进行解析,可以得到该绘图因子的以下属性信息:标识:84,类型:文本类型,名称:今日信息,内容:无事心不空,有事心不乱,大事心不畏,小事心不慢,x:375,y:1016,层级:1,宽度:630,字体粗细:700,颜色:rgba(255,239,178,100),字号:42,高度:59,对齐方式:居中。其中,冒号“:”左侧表示属性项,冒号“:”右侧表示属性值。rgba,为代表red(红色)、green(绿色)、blue(蓝色)和alpha通道的色彩空间。
52.参考图1,图1中的背景图对应一个属于图像类型的绘图因子,以该绘图因子为例,图片生成装置通过对图片设计源文件进行解析,可以得到该绘图因子的以下属性信息:标识:83,类型:图像,名称:背景图,链接地址:https://xxx.com.xxxx.png,x:0,y:0,层级:0,宽度:750,高度:1500,角弧度:[0,0,0,0],不透明度:1。其中,冒号“:”左侧表示属性项,冒号“:”右侧表示属性值。[0,0,0,0]表示背景图的四个圆角的角弧度。
[0053]
步骤203,基于多个绘图因子的属性信息进行绘图,得到第一目标图片。
[0054]
在一些实施例中,图片生成装置可以调用绘图相关服务,基于多个绘图因子的属性信息进行绘图,得到第一目标图片。
[0055]
由于能够自动解析图片设计源文件,得到绘图所需的数据,进而基于绘图所需的数据自动绘图得到对应图片,无需人工计算绘图所需的数据,从而减少了生成图片所需的人工成本,提高了图片生成效率,且相比人工计算,本方案能够得到更准确的绘图所需数据,生成与图片设计稿一致的图片,从而生成的图片的准确性高。
[0056]
综上,本技术实施例提供的基于图片设计源文件的图片生成方法,通过在获取图片设计源文件后,对图片设计源文件进行解析,得到多个绘图因子的属性信息,再基于多个绘图因子的属性信息进行绘图,得到第一目标图片,实现了自动解析图片设计源文件,得到绘图所需的数据,进而基于绘图所需的数据自动绘图得到对应图片,减少了生成图片所需的人工成本,提高了图片生成效率,且准确性高。
[0057]
下面结合图3,对本技术实施例提供的对图片设计源文件进行解析,得到多个绘图因子的属性信息的过程进行进一步说明。
[0058]
图3是根据本技术第二实施例的基于图片设计源文件的图片生成方法的流程图,如图3所示,该方法包括:
[0059]
步骤301,获取图片设计源文件。
[0060]
其中,步骤301的具体实现过程及原理,可以参考上述实施例的描述,此处不再赘述。
[0061]
步骤302,对图片设计源文件进行解析,得到图片设计源文件中至少一个画板对应的抽象语法树ast数据集。
[0062]
可以理解的是,图片设计源文件中包括至少一个画板的画板信息,本技术实施例中可以对各画板的画板信息进行解析,得到各画板对应的ast数据集。其中,每个画板可以对应一个ast数据集。相应的,步骤302可以通过以下步骤302a-302b所示的方式实现:
[0063]
步骤302a,对图片设计源文件进行解析,以获取至少一个画板的画板信息,画板信息包括画板中多个图层的描述信息。
[0064]
其中,对于一个画板,可以包括多个图层。
[0065]
在一些实施例中,图片生成装置可以对图片设计源文件进行解压,得到描述文件,该描述文件中包括至少一个画板的画板信息。其中,各画板的画板信息包括对应画板中包括哪些图层,以及各图层所属的图层类型、各图层的大小、位置、填充物、颜色等图层的描述信息。
[0066]
步骤302b,对于各画板,基于其中各图层的描述信息,获取各图层的属性信息,并基于各图层的属性信息,生成画板对应的ast数据集。
[0067]
其中,图层的属性信息,包括标识信息、类型信息、名称信息、链接地址信息、坐标信息、层级信息、宽度信息、高度信息、角弧度信息、透明度信息、内容信息、字体粗细信息、颜色信息、字号信息、对齐方式信息、底色信息中的至少一个。
[0068]
在一些实施例中,可以根据需要预先设置各图层的属性信息中包括的属性项,以及各属性项对应的属性值为何种格式等,从而图片生成装置可以对各画板中各图层的描述信息进行解析,从各图层的描述信息中获取各图层的属性信息。其中每个图层的属性信息
包括预先设置的属性项对应的属性值。
[0069]
在一些实施例中,设置各图层的属性信息中包括的属性项时,可以设置相同图层类型对应相同的属性项,不同图层类型对应的属性项相同或不同。其中,可以设置对于相同绘图因子类型的绘图因子,对应的图层的属性信息中的属性项相同。比如,假设图层类型为填充类和位图类的图层,对应的绘图因子所属的绘图因子类型均为图像类型,则可以设置属于填充类和位图类的图层的属性信息中属性项相同。
[0070]
相应的,各画板中的各图层具有所属的图层类型,步骤302b中对于各画板,基于其中各图层的描述信息,获取各图层的属性信息,可以包括:对各画板中各图层的描述信息进行解析,以获取各图层对应目标属性项的属性值;目标属性项,为预先设置的该图层所属的图层类型对应的属性项。
[0071]
举例来说,假设预先设置文本类型对应的目标属性项,包括:标识、类型、名称、内容、x、y、宽度、字体粗细、颜色、字号、高度、对齐方式,并且设置颜色属性项对应的属性值,为rgba色彩空间的颜色值。
[0072]
则图片生成装置可以对画板中文本类型的图层的描述信息进行解析,得到属于文本类型的图层对应以下各目标属性项的属性值:标识、类型、名称、内容、x、y、宽度、字体粗细、字号、高度、对齐方式,并将描述信息中解析出的颜色值转换为rgba色彩空间的颜色值,将该rgba色彩空间的颜色值作为颜色属性项对应的属性值,从而得到文本类型的图层的属性信息。
[0073]
由此,对于属于相同图层类型的各图层,可以获取各图层对应相同属性项的属性值。
[0074]
需要说明的是,步骤302b中得到的多个图层的属性信息,包括图层类型为编组类型和其它图层类型的图层的属性信息,以及图层类型为编组类型的图层包括的各子图层的属性信息。
[0075]
在一些实施例中,在图层的属性信息中包括层级属性项的情况下,可以对画板包括的各图层进行排序,并根据排序结果确定各图层对应层级属性项的属性值。
[0076]
在一些实施例中,对于各画板中任意图层,在该任意图层属于位图类或填充类等需要基于对应的资源图片进行绘制的图层的情况下,该任意图层对应目标属性项的属性值,包括链接地址属性项对应的属性值。
[0077]
相应的,在步骤302b中对于各画板,基于其中各图层的描述信息,获取各图层的属性信息之前,还可以包括:对图片设计源文件进行解析,以获取至少一张资源图片;从至少一张资源图片中获取该任意图层对应的目标资源图片,并获取目标资源图片的链接地址信息;
[0078]
步骤302b中对于各画板,基于其中各图层的描述信息,获取各图层的属性信息,还可以包括:对于各画板中该任意图层,将目标资源图片的链接地址信息,确定为链接地址属性项对应的属性值。
[0079]
其中,目标资源图片的链接地址信息,为目标资源图片的可访问链接。
[0080]
具体的,对于各画板中该任意图层,在该任意图层属于位图类或填充类,对应的目标属性项,包括层级属性项、链接地址属性项及其它属性项的情况下,获取该任意图层对应的目标资源图片的链接地址信息后,可以将目标资源图片的链接地址信息,确定为链接地
址属性项对应的属性值,并且可以对画板包括的各图层进行排序,根据排序结果确定该任意图层对应层级属性项的属性值,而对于该任意图层的其它属性项对应的属性值,可以通过对对应的描述信息进行解析来获取。由此,即可获取该任意图层对应目标属性项的属性值。
[0081]
在一些实施例中,画板包括的多个图层中,可能存在一个或多个无需显示的图层,比如不透明度为0的图层,或者被遮罩遮盖住的图层等。为了提高基于画板中图层的描述信息获取对应图层的属性信息的效率,进而提高图片生成效率,可以将各画板中包括的多个图层中无需显示的图层删除,从而实现对各画板中包括的多个图层进行过滤,得到目标图层,进而对于各画板,基于其中的目标图层的描述信息,获取目标图层的属性信息。
[0082]
在一些实施例中,每个图层的描述信息中可能包括各图层的通用属性项及对应的属性值,而不同图层类型的图层的描述信息中,通用属性项及对应的属性值所处的存储位置可能不同。为了方便查找各图层的描述信息中的通用属性项及对应的属性值,可以为各图层预先声明一个属性,并将各图层的描述信息中包括的通用属性项及对应的属性值,保存至对应图层的预先声明的属性下,以得到对应图层的更新后描述信息,进而对于各画板,可以基于其中的各图层的更新后描述信息,获取各图层的属性信息。
[0083]
在一些实施例中,为了提高基于画板中图层的描述信息获取对应图层的属性信息的效率,进而提高图片生成效率,还可以先将各画板中包括的多个图层中无需显示的图层删除,以实现对各画板中包括的多个图层进行过滤,得到目标图层,再将目标图层的描述信息中包括的通用属性项,保存至目标图层的预先声明的属性下,以得到更新后描述信息,进而对于各画板,可以基于其中的目标图层的更新后描述信息,获取目标图层的属性信息。
[0084]
相应的,每个图层的描述信息包括各图层的通用属性项,步骤302b中对于各画板,基于其中各图层的描述信息,获取各图层的属性信息之前,还可以包括:对各画板中多个图层进行过滤,得到目标图层,并将目标图层的描述信息中包括的通用属性项,保存至目标图层的预先声明的属性下,以得到更新后描述信息;
[0085]
步骤302b中对于各画板,基于其中各图层的描述信息,获取各图层的属性信息,包括:对于各画板,基于其中目标图层的更新后描述信息,获取目标图层的属性信息。
[0086]
进一步的,图片生成装置可以确定抽象语法树ast上画板对应的节点,并根据画板中每个图层,确定画板对应的节点的子节点,根据图层的属性信息确定对应子节点的属性信息,以及根据属于编组类型的图层包括的子图层,确定子节点的下一级子节点,根据子图层的属性信息确定对应下一级子节点的属性信息,从而得到画板对应的ast数据集。
[0087]
其中,可以预先设置ast上各节点的属性信息对应的数据结构,从而可以基于图层的属性信息或子图层的属性信息,确定对应节点的具有预设数据结构的属性信息。其中,画板对应的ast数据集中,属于相同图层类型的图层对应的节点的属性信息,或者属于相同图层类型的子图层对应的节点的属性信息,或者属于相同图层类型的图层和子图层对应的节点的属性信息,具有相同的数据结构。
[0088]
通过上述过程,即可根据图片设计源文件,准确生成图片生成装置能够理解的ast数据集,为后续准确获取多个绘图因子的属性信息奠定基础。
[0089]
步骤303,基于至少一个画板对应的ast数据集,获取多个绘图因子的属性信息。
[0090]
其中,绘图因子的属性信息,包括标识信息、类型信息、名称信息、链接地址信息、
坐标信息、层级信息、宽度信息、高度信息、角弧度信息、透明度信息、内容信息、字体粗细信息、颜色信息、字号信息、对齐方式信息、底色信息中的至少一个。
[0091]
在一些实施例中,步骤303可以通过以下方式实现:对于各画板,遍历对应的ast数据集,以获取其中各图层的属性信息,属性信息中包括对应图层所属的图层类型;根据图层类型与绘图因子类型之间的映射关系,确定各图层对应的绘图因子所属的目标绘图因子类型;基于各图层的属性信息,确定对应的属于目标绘图因子类型的绘图因子的属性信息。
[0092]
其中,图层类型与绘图因子类型之间的映射关系可以预先根据需要设置,比如可以设置为:图层类型为位图类和填充类,对应的绘图因子类型为图像类型;图层类型为文本类型,对应的绘图因子类型为文本类型等。
[0093]
具体的,可以遍历各画板对应的ast数据集,获取ast数据集中各节点的属性信息,并将ast数据集中各节点的属性信息,确定为对应的图层或子图层的属性信息,其中,节点对应的图层或子图层可以统称为图层。其中,图层的属性信息中可以包括图层所属的图层类型以及其它属性信息。图片生成装置可以根据各图层的属性信息中包括的对应图层所属的图层类型,以及预先设置的图层类型与绘图因子类型之间的映射关系,确定各图层对应的绘图因子所属的目标绘图因子类型,并基于各图层的属性信息中的图层类型以及其它属性信息,确定对应的属于目标绘图因子类型的绘图因子的属性信息。
[0094]
其中,可以预先设置各目标绘图因子类型的绘图因子的属性信息中包括的属性项,进而可以从各图层的属性信息中,获取对应的属于目标绘图因子类型的绘图因子对应各预设的属性项的属性值,从而得到各图层对应的属于目标绘图因子类型的绘图因子的属性信息。
[0095]
由此,即可实现自动解析图片设计源文件,高效、准确的获取多个绘图因子的属性信息。
[0096]
步骤304,基于多个绘图因子的属性信息进行绘图,得到第一目标图片。
[0097]
其中,步骤301-304的具体实现过程及原理,可以参考上述实施例的描述,此处不再赘述。
[0098]
综上,本技术实施例提供的基于图片设计源文件的图片生成方法,获取图片设计源文件,对图片设计源文件进行解析,得到图片设计源文件中至少一个画板对应的抽象语法树ast数据集,基于至少一个画板对应的ast数据集,获取多个绘图因子的属性信息,基于多个绘图因子的属性信息进行绘图,得到第一目标图片,实现了自动解析图片设计源文件,得到绘图所需的数据,进而基于绘图所需的数据自动绘图得到对应图片,减少了生成图片所需的人工成本,提高了图片生成效率,且准确性高。
[0099]
在一种可能的实现形式中,还可以基于图片设计源文件,结合用户信息和/或日期信息,生成用户的个性化图片。下面结合图4,针对上述情况,对本技术实施例提供的基于图片设计源文件的图片生成方法进行进一步说明。
[0100]
图4是根据本技术第三实施例的基于图片设计源文件的图片生成方法的流程图,如图4所示,该方法包括:
[0101]
步骤401,获取图片设计源文件。
[0102]
步骤402,对图片设计源文件进行解析,得到多个绘图因子的属性信息。
[0103]
其中,步骤401-402的具体实现过程及原理,可以参考上述实施例的描述,此处不
再赘述。
[0104]
步骤403,获取用户信息和/或日期信息。
[0105]
步骤404,根据用户信息和/或日期信息,对各绘图因子的属性信息中对应信息进行修改,以得到对应绘图因子的修改后属性信息。
[0106]
步骤405,基于各绘图因子的修改后属性信息进行绘图,得到第一目标图片。
[0107]
在一些实施例中,可以获取用户信息,根据用户信息对各绘图因子的属性信息中对应信息进行修改,以得到对应绘图因子的修改后属性信息。在一些实施例中,可以获取日期信息,根据日期信息对各绘图因子的属性信息中对应信息进行修改,以得到对应绘图因子的修改后属性信息。在一些实施例中,可以获取用户信息和日期信息,根据用户信息和日期信息对各绘图因子的属性信息中对应信息进行修改,以得到对应绘图因子的修改后属性信息。进而基于各绘图因子的修改后属性信息进行绘图,得到第一目标图片。
[0108]
举例来说,假设公众号a提供运势签查询功能,待生成的图片为公众号a提供的运势签图片。以获取用户信息和日期信息为例,在用户通过公众号a查询运势签时,图片生成装置可以获取用户头像、用户的出生日期、当前农历日期、当前公历日期,并根据用户的出生日期,获取用户当天适合做的事儿“早睡早起”、不适合做的事儿“闯红灯睡大觉”以及当天的寄语“无事心不空,有事心不乱,大事心不畏,小事心不慢”。进而图片生成装置可以利用用户头像的链接地址信息,替换对应绘图因子(该绘图因子属于图像类型)的属性信息中链接地址属性项对应的属性值,利用“早睡早起”替换对应绘图因子(该绘图因子属于文本类型)的属性信息中属性项“内容”(本技术实施例中称为内容属性项)对应的属性值,利用“闯红灯睡大觉”替换对应绘图因子(该绘图因子属于文本类型)的属性信息中内容属性项对应的属性值,利用“无事心不空,有事心不乱,大事心不畏,小事心不慢”替换对应绘图因子(该绘图因子属于文本类型)的属性信息中内容属性项对应的属性值,利用当前农历日期和当前公历日期替换对应绘图因子(该绘图因子属于文本类型)的属性信息中内容属性项对应的属性值,得到各绘图因子的修改后属性信息,进而基于各绘图因子的修改后属性信息进行绘图,得到图1所示的运势签图片。进而即可通过公众号a展示图1所示的运势签图片。
[0109]
由此,可以基于图片设计源文件,结合用户信息和/或日期信息生成用户的个性化图像,从而满足不同用户的个性化需求。
[0110]
在一些实施例中,图片生成装置还允许用户对解析得到的多个绘图因子的属性信息进行修改。具体的,图片生成装置可以提供可视化界面,在可视化界面中,用户可以看到根据多个绘图因子的属性信息生成的第一目标图片,并且可以对多个绘图因子的属性信息进行修改。
[0111]
相应的,在步骤402之后,还可以包括:
[0112]
响应于在可视化界面中检测到对任意绘图因子的属性信息的修改操作,获取该任意绘图因子的修改后属性信息;
[0113]
根据该任意绘图因子的修改后属性信息,对多个绘图因子的属性信息进行更新,得到多个绘图因子的更新后属性信息;
[0114]
基于多个绘图因子的更新后属性信息进行绘图,得到第二目标图片。
[0115]
其中,用户对该任意绘图因子的属性信息的修改操作,可以在步骤405之前,也可
以在步骤405之前,本技术对此不作限制。
[0116]
其中,对任意绘图因子的属性信息的修改操作,可以为修改该任意绘图因子的属性信息,或者删除该任意绘图因子,或者添加绘图因子,或者其它修改操作,本技术对此不作限制。
[0117]
通过提供可视化界面,并响应于在可视化界面中检测到对任意绘图因子的属性信息的修改操作,获取该任意绘图因子的修改后属性信息,根据该任意绘图因子的修改后属性信息,对多个绘图因子的属性信息进行更新,并基于多个绘图因子的更新后属性信息进行绘图,得到第二目标图片,实现了根据用户需要对解析图片设计源文件得到的多个绘图因子的属性信息进行调整,从而对对应图片进行调整。由于用户直接通过可视化界面即可进行修改操作,方便了用户对图片的调整,且由于无需对图片设计源文件进行重新解析,直接根据用户的修改操作修改绘图因子的属性信息,即可实现对对应图片的调整,提高了图片的调整效率。
[0118]
为了实现上述实施例,本技术还提出了一种基于图片设计源文件的图片生成装置。图5是根据本技术第四实施例的基于图片设计源文件的图片生成装置的结构示意图。
[0119]
如图5所示,该基于图片设计源文件的图片生成装置500,包括:第一获取模块510、解析模块520以及第一绘图模块530。
[0120]
其中,第一获取模块510,用于获取图片设计源文件;
[0121]
解析模块520,用于对图片设计源文件进行解析,得到多个绘图因子的属性信息;
[0122]
第一绘图模块530,用于基于多个绘图因子的属性信息进行绘图,得到第一目标图片。
[0123]
需要说明的是,本技术实施例的基于图片设计源文件的图片生成装置500,可以执行上述实施例提供的基于图片设计源文件的图片生成方法。其中,基于图片设计源文件的图片生成装置500可以由软件和/或硬件实现,该基于图片设计源文件的图片生成装置500可以为电子设备,或者也可以配置在电子设备中,以实现基于图片设计源文件,低成本、高效、准确的生成对应的第一目标图片。其中,该电子设备可以包括但不限于终端设备、服务器等,该实施例对电子设备不作具体限定。
[0124]
在本技术的一个实施例中,解析模块520,包括:
[0125]
解析单元,用于对图片设计源文件进行解析,得到图片设计源文件中至少一个画板对应的抽象语法树ast数据集;
[0126]
第一获取单元,用于基于至少一个画板对应的ast数据集,获取多个绘图因子的属性信息。
[0127]
在本技术的一个实施例中,解析单元,包括:
[0128]
第一解析子单元,用于对图片设计源文件进行解析,以获取至少一个画板的画板信息,画板信息包括画板中多个图层的描述信息;
[0129]
第一处理子单元,用于对于各画板,基于其中各图层的描述信息,获取各图层的属性信息,并基于各图层的属性信息,生成画板对应的ast数据集。
[0130]
在本技术的一个实施例中,各图层具有所属的图层类型;
[0131]
第一处理子单元,用于:
[0132]
对各画板中各图层的描述信息进行解析,以获取各图层对应目标属性项的属性
值;目标属性项,为预先设置的图层所属的图层类型对应的属性项。
[0133]
在本技术的一个实施例中,对于各画板中任意图层,在任意图层所属的图层类型为位图类或填充类的情况下,任意图层对应目标属性项的属性值,包括链接地址属性项对应的属性值;
[0134]
解析单元,还包括:
[0135]
第二解析子单元,用于对图片设计源文件进行解析,以获取至少一张资源图片;
[0136]
第一获取子单元,用于从至少一张资源图片中获取任意图层对应的目标资源图片,并获取目标资源图片的链接地址信息;
[0137]
第一处理子单元,还用于:
[0138]
对于各画板中任意图层,将目标资源图片的链接地址信息,确定为链接地址属性项对应的属性值。
[0139]
在本技术的一个实施例中,每个图层的描述信息包括各图层的通用属性项及对应的属性值;
[0140]
解析单元,还包括:
[0141]
第二处理子单元,用于对各画板中多个图层进行过滤,得到目标图层,并将目标图层的描述信息中包括的通用属性项及对应的属性值,保存至目标图层的预先声明的属性下,以得到更新后描述信息;
[0142]
第一处理子单元,用于:
[0143]
对于各画板,基于其中目标图层的更新后描述信息,获取目标图层的属性信息。
[0144]
在本技术的一个实施例中,第一获取单元,包括:
[0145]
第二获取子单元,用于对于各画板,遍历对应的ast数据集,以获取其中各图层的属性信息,属性信息中包括对应图层所属的图层类型;
[0146]
第一确定子单元,用于根据图层类型与绘图因子类型之间的映射关系,确定各图层对应的绘图因子所属的目标绘图因子类型;
[0147]
第二确定子单元,用于基于各图层的属性信息,确定对应的属于目标绘图因子类型的绘图因子的属性信息。
[0148]
在本技术的一个实施例中,属性信息,包括标识信息、类型信息、名称信息、链接地址信息、坐标信息、层级信息、宽度信息、高度信息、角弧度信息、透明度信息、内容信息、字体粗细信息、颜色信息、字号信息、对齐方式信息、底色信息中的至少一个。
[0149]
在本技术的一个实施例中,第一绘图模块530,包括:
[0150]
第二获取单元,用于获取用户信息和/或日期信息;
[0151]
修改单元,用于根据用户信息和/或日期信息,对各绘图因子的属性信息中对应信息进行修改,以得到对应绘图因子的修改后属性信息;
[0152]
绘图单元,用于基于各绘图因子的修改后属性信息进行绘图,得到第一目标图片。
[0153]
在本技术的一个实施例中,基于图片设计源文件的图片生成装置500,还包括:
[0154]
第二获取模块,用于响应于在可视化界面中检测到对任意绘图因子的属性信息的修改操作,获取任意绘图因子的修改后属性信息;
[0155]
更新模块,用于根据任意绘图因子的修改后属性信息,对多个绘图因子的属性信息进行更新,得到多个绘图因子的更新后属性信息;
memory;以下简称:cd-rom)、数字多功能只读光盘(digital video disc read only memory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本技术各实施例的功能。
[0167]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本技术所描述的实施例中的功能和/或方法。
[0168]
电子设备600也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,电子设备600还可以通过网络适配器50与一个或者多个网络(例如局域网(local area network;以下简称:lan),广域网(wide area network;以下简称:wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器50通过总线18与电子设备600的其它模块通信。应当明白,尽管图6中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0169]
处理单元16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
[0170]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0171]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0172]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0173]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执
行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0174]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0175]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0176]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0177]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献