【技术实现步骤摘要】
生成图片的方法、装置、电子设备、存储介质和程序产品
本公开涉及人工智能
,尤其涉及图像处理
技术介绍
随着小程序应用的日渐成熟,多处场景需要能够生成分享图便于用户进行二次传播,从而提升小程序的传播率以及加强品牌效应。对于简单的分享图,比如固定大小的背景图加几行简短文字构成的分享图,可以利用官方提供的canvas接口直接绘制元素。但是,对于复杂的分享图,例如将图文混排的富文本内容生成分享图,采用canvas接口绘制是十分困难的,降低了分享图的绘制效率。
技术实现思路
本公开提供了一种生成图片的方法、装置、电子设备、存储介质和程序产品。根据本公开的第一方面,提供了一种生成图片的方法,包括:在小程序中批量获取待绘制文件中的一个或多个元素,一个或多个元素包括文本元素和/或图片元素,一个或多个元素由文档对象模型DOM节点生成;根据一个或多个元素对应的DOM节点的样式属性信息,获取一个或多个元素的绘制属性信息;基于一个或多个元素的绘制属性信息,在预设画布中绘制一 ...
【技术保护点】
1.一种生成图片的方法,包括:/n在小程序中批量获取待绘制文件中的一个或多个元素,所述一个或多个元素包括文本元素和/或图片元素,所述一个或多个元素由文档对象模型DOM节点生成;/n根据所述一个或多个元素对应的DOM节点的样式属性信息,获取所述一个或多个元素的绘制属性信息;/n基于所述一个或多个元素的绘制属性信息,在预设画布中绘制所述一个或多个元素,以生成图片。/n
【技术特征摘要】
1.一种生成图片的方法,包括:
在小程序中批量获取待绘制文件中的一个或多个元素,所述一个或多个元素包括文本元素和/或图片元素,所述一个或多个元素由文档对象模型DOM节点生成;
根据所述一个或多个元素对应的DOM节点的样式属性信息,获取所述一个或多个元素的绘制属性信息;
基于所述一个或多个元素的绘制属性信息,在预设画布中绘制所述一个或多个元素,以生成图片。
2.根据权利要求1所述的方法,其中,所述根据所述一个或多个元素对应的DOM节点的样式属性信息,获取所述一个或多个元素的绘制属性信息,包括:
根据所述一个或多个元素中各元素对应的DOM节点的class类名,查询各元素对应的计算样式信息;
基于各元素对应的计算样式信息,确定各元素在所述预设画布中的位置以及各元素的绘制样式。
3.根据权利要求2所述的方法,其中,基于各元素对应的计算样式信息,确定各元素在所述预设画布中的位置,包括:
基于各元素的计算样式信息确定各元素的top值和left值,将top值相同的多个元素聚合为同一行,其中,所述top值为单个元素与所述预设画布的上边界的距离;
对于位于同一行的多个元素,根据各元素的left值确定各元素在本行中的位置,其中,所述left值为单个元素与所述预设画布的左边界的距离。
4.根据权利要求3所述的方法,其中,所述方法还包括:
同一行中包括n个元素,若第n个元素的left值与第1个元素的left值相同,且所述第n个元素的高度值大于或等于所述第1个元素的高度值的两倍,则确定所述第n个元素出现换行,其中,n为大于或等于2的正整数。
5.根据权利要求1所述的方法,还包括:在所述一个或多个元素由链接节点生成的情况下,基于所述链接节点下载所述一个或多个元素,并将所述一个或多个元素绘制在所述预设画布上。
6.根据权利要求1至5中任一项所述的方法,还包括:
初始化所述预设画布,根据链接信息确定所述预设画布的背景类型;
在存在所述链接信息的情况下,确定所述背景类型为背景图片,并根据所述链接信息下载所述背景图片以填充在所述预设画布中;
在不存在所述链接信息的情况下,确定所述背景类型为纯色背景,并根据颜色值在所述预设画布中填充对应颜色。
7.一种生成图片的装置,包括:
元素获取模块,用于在小程序中批量获取待绘制文件中的一个或多个元素,所述一个或多个元素包括文本元素和/或图片元素,所述一个或多个元素由文档对象模型DOM节点生成;
绘制属性信息获取模块,用于根据所述一个或多个元素对应的DOM节点的样式属性信息,获取所述一个或多个元...
【专利技术属性】
技术研发人员:杨海艳,刁佳佳,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。