流程图渲染方法及装置、电子设备和介质制造方法及图纸

技术编号:29873240 阅读:12 留言:0更新日期:2021-08-31 23:48
本公开提供了一种流程图渲染方法、装置、电子设备、计算机可读存储介质和计算机程序产品,涉及计算机领域,尤其涉及数据渲染技术领域。实现方案为:获取树结构的待渲染流程图的数据,其中树结构包括主树结构;确定主根节点以及主根节点的坐标,其中主根节点为主树结构的根节点;确定树结构中的除主根节点之外的非主根节点的坐标,其中对于每一个非主根节点:基于主根节点的坐标、非主根节点所在层数以及预设的层间距确定非主根节点的第一维坐标;基于主根节点的坐标以及非主根节点的叶子节点数量确定非主根节点的第二维坐标;以及基于所确定的树结构节点的坐标对待渲染流程图进行渲染。

【技术实现步骤摘要】
流程图渲染方法及装置、电子设备和介质
本公开涉及计算机领域,尤其涉及数据渲染
,具体涉及一种流程图渲染方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
技术介绍
流程图被广泛地应用于业务流程分析、计算机程序设计、数据处理系统的开发和管理等领域。正如人们所熟知的,流程图是形式化地表示程序逻辑序列、工作处理过程、组织结构等等的图示。通常,从后端获取的用于生成流程图的数据包括节点信息以及边信息等。然后,通过数据渲染的方式将流程图显示在前端页面中。但是,通常的流程图渲染方法与其他组件的渲染逻辑深度耦合,且很难适应特殊流程图场景的渲染,因此其程序的扩展性较差、兼容性不高。
技术实现思路
本公开提供了一种流程图渲染方法、装置、电子设备、计算机可读存储介质和计算机程序产品。根据本公开的一方面,提供了一种流程图渲染方法,包括:获取树结构的待渲染流程图的数据,其中所述树结构包括主树结构;确定主根节点以及所述主根节点的坐标,其中所述主根节点为所述主树结构的根节点;确定所述树结构中的除所述主根节点之外的非主根节点的坐标,其中对于每一个所述非主根节点:基于所述主根节点的坐标、所述非主根节点所在层数以及预设的层间距确定所述非主根节点的第一维坐标;基于所述主根节点的坐标以及所述非主根节点的叶子节点数量确定所述非主根节点的第二维坐标;以及基于所确定的所述树结构节点的坐标对所述待渲染流程图进行渲染。根据本公开的另一方面,提供了一种流程图渲染装置,包括:获取单元,配置为获取树结构的待渲染流程图的数据,其中所述树结构包括主树结构;第一确定单元,配置为确定主根节点以及所述主根节点的坐标,其中所述主根节点为所述主树结构的根节点;第二确定单元,配置为确定所述树结构中的除所述主根节点之外的非主根节点的坐标,其中对于每一个所述非主根节点:基于所述主根节点的坐标、所述非主根节点所在层数以及预设的层间距确定所述非主根节点的第一维坐标;基于所述主根节点的坐标以及所述非主根节点的叶子节点数量确定所述非主根节点的第二维坐标;以及渲染单元,配置为基于所确定的所述树结构节点的坐标对所述待渲染流程图进行渲染。根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行本公开所述的方法。根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开所述的方法。根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现本公开所述的方法。根据本公开的一个或多个实施例,该流程图渲染方法通过对树结构的待渲染数据计算节点坐标,可以方便地对多种形式和布局的流程图进行渲染;且扩展性较高,兼容性较好。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;图2示出了根据本公开的实施例的流程图渲染方法的流程图;图3示出了根据本公开的实施例的一个示例性流程图的示意图;图4示出了根据本公开的实施例的包含下钻关系的流程图的示意图;图5示出了根据本公开的实施例的扁平化结构数据的示意图;图6示出了图5所示的数据转换为树结构后的示意图;图7示出了根据本公开的实施例的包含多根节点的流程图示意图;图8示出了对图7所示的流程图计算节点坐标的示意图;图9示出了根据本公开的实施例的计算叶子节点高度的示意图;图10示出了根据本公开的实施例的流程图渲染的结构框图;以及图11示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。具体实施方式以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。下面将结合附图详细描述本公开的实施例。图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。在本公开的实施例中,服务器120可以运行使得能够执行流程图渲染方法的一个或多个服务或软件应用。在某些实施例中,服务器120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。客户端设备101、102、103、104、105和/或106可以用来显示渲染后的流程图、接收用户输入等等。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管本文档来自技高网...

【技术保护点】
1.一种流程图渲染方法,包括:/n获取树结构的待渲染流程图的数据,其中所述树结构包括主树结构;/n确定主根节点以及所述主根节点的坐标,其中所述主根节点为所述主树结构的根节点;/n确定所述树结构中的除所述主根节点之外的非主根节点的坐标,其中对于每一个所述非主根节点:/n基于所述主根节点的坐标、所述非主根节点所在层数以及预设的层间距确定所述非主根节点的第一维坐标;/n基于所述主根节点的坐标以及所述非主根节点的叶子节点数量确定所述非主根节点的第二维坐标;以及/n基于所确定的所述树结构节点的坐标对所述待渲染流程图进行渲染。/n

【技术特征摘要】
1.一种流程图渲染方法,包括:
获取树结构的待渲染流程图的数据,其中所述树结构包括主树结构;
确定主根节点以及所述主根节点的坐标,其中所述主根节点为所述主树结构的根节点;
确定所述树结构中的除所述主根节点之外的非主根节点的坐标,其中对于每一个所述非主根节点:
基于所述主根节点的坐标、所述非主根节点所在层数以及预设的层间距确定所述非主根节点的第一维坐标;
基于所述主根节点的坐标以及所述非主根节点的叶子节点数量确定所述非主根节点的第二维坐标;以及
基于所确定的所述树结构节点的坐标对所述待渲染流程图进行渲染。


2.如权利要求1所述的方法,还包括:在确定所述非主根节点的坐标之前,确定所述树结构的渲染方向,以基于所述渲染方向确定所述第一维坐标和第二维坐标。


3.如权利要求2所述的方法,还包括:响应于所述树结构还包括至少一个从树结构,确定每一个所述树结构的最大层数,其中,
确定所述非主根节点的第一维坐标包括:
进一步基于所述最大层数以及所述渲染方向确定所述从树结构中的各节点的第一维坐标,其中,所述从树结构为所述树结构中除所述主树结构以外的树结构。


4.如权利要求1所述的方法,其中,基于所述主根节点的坐标以及所述非主根节点的叶子节点数量确定所述非主根节点的第二维坐标包括:
响应于所述树结构包括至少一个从树结构,基于所述主根节点的坐标确定从根节点的第二维坐标,其中,所述从根节点为所述从树结构的根节点;以及
对于所述树结构中的每一个:
依次对除根节点外的每一层进行节点遍历,以确定所述每一层中的每一个节点的第二维坐标。


5.如权利要求4所述的方法,其中,依次对除根节点外的每一层进行遍历包括:
对于除根节点外的每一层:
基于所述层中的第一节点的父节点的第二维坐标以及所述父节点的叶子节点在所述第二维坐标方向上的高度值初始化指针;以及
基于所述指针以及所述每一个节点的叶子节点数量确定所述每一个节点的第二维坐标,其中,
每确定一个节点的第二维坐标后对所述指针进行更新。


6.如权利要求5所述的方法,其中,基于所述指针以及所述每一个节点的叶子节点数量确定所述每一个节点的第二维坐标包括:
基于所述指针的值以及所述每一个节点的叶子节点在所述第二维坐标方向上高度值确定所述每一个节点的第二维坐标;
响应于当前节点的第二维坐标已确定,基于所述当前节点的叶子节点在所述第二维坐标方向上高度值更新所述指针的值;以及
基于更新后的所述指针确定所述层中的下一个节点的第二维坐标。


7.如权利要求1-6中任一项所述的方法,还包括:获取节点间距以及所述预设的层间距,并且,
其中,确定所述非主根节点的第二维坐标包括:
进一步基于所述节点间距确定所述非主根节点的第二维坐标。


8.如权利要求2所述的方法,其中,所述渲染方向包括以下项所组成的组中的一个或多个:从上到下、从下到上、从左到右、从右到左。


9.如权利要求3所述的方法,还包括:响应于所述树结构包括至少一个从树结构,获取排列间距,以基于所述排列间距确定所述从树结构中的节点的所述第一维坐标和所述第二维坐标中的相应一个,
其中,所述排列间距表示所述主树结构和所述至少一个从树结构之间的间距。


10.如权利要求1所述的方法,还包括:
响应于至少...

【专利技术属性】
技术研发人员:王琪胡雪磊李晓琴王晓荣
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1