项目进度条图像生成的方法及装置与流程

文档序号:11406813阅读:114来源:国知局
项目进度条图像生成的方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种项目进度条图像生成的方法及装置。



背景技术:

在项目的进程和管理中,管理人员需要从宏观的角度去了解项目的进展情况,时间是一个很好的维度。时间作为项目进展的维度,通常会涉及到三类的进度标识:阶段、里程碑、版本。

阶段是通常会跨度较长的时间。对于游戏项目来说,demo阶段、立项阶段、开发阶段都可能会有不同的资源跟进,如人员、资金等。所以,阶段可以让管理人员粗略地了解项目的进展情况,进而调整相应的对接资源量。

项目进程中,管理人员会制定不同的阶段性里程碑。特别是项目进入正常的开发运行阶段时,其通常是个漫长的过程,里程碑可以作为一个的项目阶段性任务,从而可以很好地帮助管理人员确认项目进展得是否合理,同时,也可以作为产品的阶段性成果。

然而现有技术中并未提出针对输入的项目信息参数自动生成合理显示的项目进度条的具体方式,也不能对进度条排版的合理性进行自动调整。



技术实现要素:

本发明其中一实施例提出的一种项目进度条图像生成的方法及装置,能够自动生成项目的进度条图像,并确保生成项目进度条图像的合理性。

在一个方面,本发明实施例提供一种项目进度条图像生成的方法,包括:

接收用于所述项目的阶段数据和里程碑数据;所述阶段数据包括所述项目的每一个子阶段事件和所述每一个子阶段事件的开始日期和结束日期;所述里程碑数据包括所述项目的每一个标志性事件和所述每一个标志性事件的完成日期;

根据所述每一个子阶段事件的开始日期和结束日期,确定所述进度条的刻度分布和每一个子阶段事件在所述进度条中的刻度区间;

根据所述里程碑数据和所述进度条的刻度分布,确定每一个标志性事件在所述进度条上的显示位置;

根据所述进度条的刻度分布、每一个子阶段事件在所述进度条中的刻度区间和所述每一个标志性事件在所述进度条上的显示位置,自动渲染生成所述进度条的图像。

在另一个方面,本发明实施例提供一种项目进度条图像生成的装置,包括:

数据接收模块,用于接收用于所述项目的阶段数据和里程碑数据;所述阶段数据包括所述项目的每一个子阶段事件和所述每一个子阶段事件的开始日期和结束日期;所述里程碑数据包括所述项目的每一个标志性事件和所述每一个标志性事件的完成日期;

刻度划分模块,用于根据所述每一个子阶段事件的开始日期和结束日期,确定所述进度条的刻度分布和每一个子阶段事件在所述进度条中的刻度区间;

标志显示确定模块,用于根据所述里程碑数据和所述进度条的刻度分布,确定每一个标志性事件在所述进度条上的显示位置;以及,

图像渲染生成模块,用于根据所述进度条的刻度分布、每一个子阶段事件在所述进度条中的刻度区间和所述每一个标志性事件在所述进度条上的显示位置,自动渲染生成所述进度条的图像。

实施本发明其中一实施例,具有如下有益效果:

本发明其中一实施例提供的一种项目进度条图像生成的方法和装置,通过接收项目的阶段数据和里程碑数据,并对阶段数据和里程碑数据进行解析,获得项目的相关参数信息,根据参数信息自动渲染生成项目的进度条图像,从而实现了根据项目数据能够自动生成项目的进度条图像,并调整进度条中子阶段与里程碑排版,来确保生成项目进度条图像的合理性,从而避免进度条上的信息显示被遮挡。

附图说明

图1是本发明提供的项目进度条图像生成的方法的一个实施例的流程示意图;

图2是本发明提供的项目进度条图像生成的方法生成的进度条的图像的一个实施例的示意图;

图3是本发明提供的项目进度条图像生成的装置的一个实施例的结构示意图;

图4是本发明提供的项目进度条图像生成的装置的刻度划分模块的一个实施例的结构示意图;

图5是本发明提供的项目进度条图像生成的装置的刻度划分模块的计算与修正单元的一个实施例的结构示意图;

图6是本发明提供的项目进度条图像生成的装置的标志显示确定模块的一个实施例的结构示意图;

图7是本发明提供的项目进度条图像生成的装置的标志显示确定模块的显示位置确定单元的一个实施例的结构示意图;

图8是本发明提供的项目进度条图像生成的装置的图像渲染生成模块的一个实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明提供的项目进度条图像生成的方法的一个实施例的流程示意图;本发明实施例提供一种项目进度条图像生成的方法,包括步骤s1至s4:

s1,接收所述项目的阶段数据和里程碑数据;所述阶段数据包括所述项目的每一个子阶段事件和所述每一个子阶段事件的开始日期和结束日期;所述里程碑数据包括所述项目的每一个标志性事件和所述每一个标志性事件的完成日期。

需要说明的是,所有的子阶段数据和里程碑数据在进度条的图像中显示都需要有确定的日期,所以需要对传入的数据进行基本的预处理判断,即对接收到的子阶段数据和里程碑数据判断其对应的日期是否存在,同时,会对上述接收到的数据分类并根据日期进行先后排序,方便后续对数据进行筛选、计算的操作,提高图像生成的效率。

s2,根据所述每一个子阶段事件的开始日期和结束日期,确定所述进度条的刻度分布和每一个子阶段事件在所述进度条中的刻度区间。

需要说明的是,在实际的项目管理中,子阶段与子阶段的日期跨度有时并不能完全衔接上,进而进度条上会存在有子阶段是空白内容的,为了向查阅者表明此问题,需要在进度条上对空白的子阶段的区间进行显示,因而,本发明实施例,通过对每一子阶段的日期进行计算,得出每一个子阶段事件在进度条上的刻度区间,进而得到空白的子阶段的刻度区间,则在渲染生成图像的过程,以特殊颜色对该空白的子阶段的刻度区间进行标示即可。

s3,根据所述里程碑数据和所述进度条的刻度分布,确定每一个标志性事件在所述进度条上的显示位置。

需要说明的是,每一个标志性事件在所述进度条上的显示位置,是指该标志事件对应的显示框或显示文字的中心位置。

s4,根据所述进度条的刻度分布、每一个子阶段事件在所述进度条中的刻度区间和所述每一个标志性事件在所述进度条上的显示位置,自动渲染生成所述进度条的图像。

需要说明的是,通过上述步骤s1至步骤s4的图像生成过程,所生成的图像的一种显示方式如图2所示,图2展示了渲染生成的进度条的图像,进度条按照年月的刻度值递增,不同的子阶段事件的在所述进度条上的刻度区以互不相同的颜色标识(图2以不同的阴影表示不同的颜色),每一个标志性事件在所述进度条上拉或下拉以里程碑方式进行显示,图2是以上拉方式进行显示。除了标识进度条的刻度值对应的日期之后,还包括标识当前日期,让查阅者明确进度条当前所处的时间点,以及了解当前所处子阶段及其他比较性信息。另外,通过上述对接收到的阶段数据和里程碑数据进行解析处理,调整每一个子阶段与每一个标志性事件的排版位置,确保生成的进度条图像的合理性。

进一步地,为了保证项目进度数据在视图上的可见性,针对子阶段数据日期这一个关键点对子阶段数据进行筛选、计算等操作,那么上述步骤s2的具体实施过程为:

从所述每一个子阶段事件的开始日期和结束日期中,提取出排序在最前的日期和最后的日期,获得所述进度条的始末跨度天数;

计算所述进度条的宽度与所述进度条始末跨度天数的比值,获得每一天在所述进度条的跨度值;

根据所述最前的日期、所述最后的日期和所述进度条的跨度值,确定所述进度条的刻度分布;其中,所述进度条的起始刻度为所述最前的日期,所述进度条的终止刻度为所述最后的日期,所述进度条的相邻刻度之间的距离为所述进度条的跨度值;

根据所述进度条的刻度分布,确定所述每一个子阶段事件的开始日期和结束日期分别对应的刻度值,获得所述每一个子阶段事件在所述进度条中的刻度区间。

需要说明的是,上述步骤2的具体实施过程计算出进度条的刻度分布数据,以及每一个子阶段事件在进度条上的刻度区间,提供了进度条的基本框架数据,确保子阶段在进度条上显示时清晰明了,即确保子阶段数据的排版合理。

进一步地,进度条的一端还有个箭头,箭头部分会占用一定的天数,那么还需要计算箭头的刻度分布,而由于要考虑箭头的刻度分布,那么需要计算箭头占进度条的天数值、以及修正进度条的跨度值,以防止图像生成后箭头部过小或者过大的显示问题,因此上述步骤s2的具体实施过程还包括,在获得所述进度条的跨度值后,计算所述箭头占所述进度条的天数值和修正所述进度条的跨度值,具体地:

在获得所述进度条的跨度值i后,根据所述箭头的预设长度s1和所述进度条的跨度值i,计算所述箭头占所述进度条的天数值d1,其中,floor()为向下取整函数;

根据所述箭头占所述进度条的天数值d1,计算所述箭头的预设长度s1与所述箭头的实际长度之间的偏移值f1,f1=s1-d1*i;

判断所述箭头的偏移值f1和所述进度条的偏移值f2是否均大于偏移值阈值;其中,f2=s2-d2*i,s2为所述进度条的宽度;d2为所述进度条的始末跨度天数;

当所述箭头的偏移值f1大于所述偏移值阈值时,或者当所述进度条的偏移值f2大于所述偏移值阈值时,根据所述箭头的偏移值,修正所述进度条的跨度值为i,

根据修正后的所述进度条的跨度值i,重新计算所述箭头占所述进度条的天数值d1、所述箭头的偏移值f1和所述进度条的偏移值f2,直至所述箭头的偏移值f1和所述进度条的偏移值f2均小于所述偏移值阈值;

当所述箭头的偏移值f1和所述进度条的偏移值f2均小于所述偏移值阈值,输出所述箭头占所述进度条的天数值d1和所述进度条的跨度值i。

需要说明的是,通过上述计算出所述箭头占所述进度条的天数值d1和修正了所述进度条的跨度值i之后,可以确定箭头在进度条的所占的长度为d1*i。上述的箭头的预设长度s1和偏移值阈值均为预先设置的,方便在上述计算过程调整箭头所占的天数值和进度条的跨度值。

进一步地,上述步骤s3的具体实施过程为:

计算所述每一个标志性事件的文字占位长度与所述进度条的标志显示比例的乘积,获得所述每一个标志性事件以里程碑方式显示在所述进度条中的里程碑宽度;所述标志显示比例为一个文字显示在所述进度条的图像中所占据的单位长度;

根据所述进度条设置的里程碑显示方式和每一个标志性事件在所述进度条中显示的里程碑宽度,确定每一个标志性事件在所述进度条上的显示位置。

具体地,以里程碑方式进行显示为标志性事件的完成日期对应在所述进度条上的刻度值所在位置与所述标志性事件的里程碑的中心位置同在一轴线上,且显示所述标志性事件的里程碑与所述标志性事件的完成日期在所述进度条上的刻度值所在位置的连接线。

需要说明的是,为了做到里程碑数据中每一个标志性事件在进度覆盖上显示的适应,而且每一个标志事件以里程碑显示时,由于文字内容的长短会使里程碑宽度也会有所区别,其次,当进度条上的一小时间段内出现多个里程碑,是需要避免多个里程碑之间的遮挡问题,因而需要计算出每一个里程碑的宽度,并通过以下多层级的里程碑的位置确定方式解决以上问题:

根据所述每一个标志性事件的完成日期,对所述每一个标志性事件按时间先后进行排序;对每一个标志性事件的数据根据日期进行排序,排序后的数据通对后续的处理过程进行简化,避免数据混乱。

对于第1个标志性事件,将所述第1个标志性事件以里程碑显示方式显示在所述进度条的第一里程碑层级时的位置作为所述第1个标志性事件在所述进度条上的位置;对于第1个标志性事件,无需升层级。如图2所示,图2中的第一里程碑可看作为第1个标志性事件的里程碑。

对于第i个标志性事件,将所述第i个标志性事件以里程碑显示方式显示在所述进度条的第一里程碑层级的位置时,根据所述第i个标志性事件在所述进度条中显示的位置和里程碑宽度、以及在当前里程碑层级显示的前一标志事件的里程碑的位置和里程碑宽度,判断所述第i个标志性事件的里程碑与其所在层级的前一个标志性事件的里程碑是否有重叠;i为大于1的自然数;

若是,则继续将所述第i个标志性事件以里程碑显示方式显示在所述进度条的下一里程碑层级的位置进行判断,直至所述第i个标志性事件的里程碑与其所在层级的前一个标志性事件的里程碑没有重叠为止,并将所述第i个标志性事件在当前里程碑层级显示的位置作为所述第i个标志性事件在所述进度条的显示位置。

若否,将所述第i个标志性事件在当前里程碑层级显示的位置作为所述第i个标志性事件在所述进度条的显示位置。

需要说明的是,如当前的标志性事件对应的里程碑的右位置与该里程碑在当前层级显示的前一个标志性事件对应的里程碑的左位置有重叠的时,当前的标志事件的里程碑需要升一个层级,如果在新层级中依然有重叠时,再次升层级,直到新的层级中没有重叠为止。如图2所示,确定第三里程碑的位置,先将第三程碑放置在第一里程碑层级进行显示,当前层级显示的前一个标志性事件对应的里程碑(第二里程碑)的左侧与第三里程碑的右侧重叠,进而将第三里程碑上升一个层级显示,而在此层级中没有与其他里程碑产生重叠,因而以第三里程在当前显示的位置作为其在渲染生成的过程提供的显示位置。因而,通过上述对里程碑位置的排列,使得在图像生成过程可以直接根据每一标志性事件的显示位置,调用数据进行显示即可,既解决了里程碑重叠的问题,又能提高图像生成的效率。

进一步地,上述步骤s4的具体实施过程为:

根据所述进度条的刻度分布,渲染生成所述进度条的框架;

根据所述每一个子阶段事件在所述进度条的刻度区间以及每一个子阶段在所述进度条中显示的颜色均不相同的要求,渲染所述进度条中显示每一子阶段的刻度区间的颜色和刻度区间对应的子阶段事件内容;

根据所述每一个标志性事件在所述进度条的显示位置,依据显示位置从上到下和从右到左的方式,逐个将标志性事件以里程碑方式渲染在所述进度条中,完成所述进度条的图像生成。

需要说明的是,上述进度条的图像渲染生成的顺序可以为,进度条的框架、每一子阶段、里程碑、当前日期在进度条上的标示、月份时间刻度标识。而对于每一个标志性事件以里程碑方式渲染在进度条上的顺序为:按显示位置的先后上下顺序,依次以上到下和从右到左的方式进行倒序渲染。其中,从上到下的方式渲染可以很好地隐藏可能交叉的连接线,此连接线为里程碑连接到对应日期刻度值上的连接线,如图2所示,第三里程碑的连接线可以隐藏在第二里程碑底下;从右到左的方式,递减式的索引比较,可提升处理性能,可以提高图像渲染生成的速度。

本发明实施例提供的项目进度条图像生成的方法,通过接收项目的阶段数据和里程碑数据,并对阶段数据和里程碑数据进行解析,获得项目的相关参数信息,根据参数信息自动渲染生成项目的进度条图像,从而实现了根据项目数据能够自动生成项目的进度条图像,并调整进度条中子阶段与里程碑排版,来确保生成项目进度条图像的合理性,从而避免进度条上的信息显示被遮挡。

参见图3,是本发明提供的项目进度条图像生成的装置的一个实施例的结构示意图;本发明实施例还提供一种项目进度条图像生成的装置,能够实施上述实施例提供的方法的全部流程,具体包括:

数据接收模块10,用于接收所述项目的阶段数据和里程碑数据;所述阶段数据包括所述项目的每一个子阶段事件和所述每一个子阶段事件的开始日期和结束日期;所述里程碑数据包括所述项目的每一个标志性事件和所述每一个标志性事件的完成日期;

刻度划分模块20,用于根据所述每一个子阶段事件的开始日期和结束日期,确定所述进度条的刻度分布和每一个子阶段事件在所述进度条中的刻度区间;

标志显示确定模块30,用于根据所述里程碑数据和所述进度条的刻度分布,确定每一个标志性事件在所述进度条上的显示位置;以及,

图像渲染生成模块40,用于根据所述进度条的刻度分布、每一个子阶段事件在所述进度条中的刻度区间和所述每一个标志性事件在所述进度条上的显示位置,自动渲染生成所述进度条的图像。

进一步地,如图4所示,图4是本发明提供的项目进度条图像生成的装置的刻度划分模块的一个实施例的结构示意图;所述刻度划分模块20,具体包括:

跨度天数获取单元21,用于从所述每一个子阶段事件的开始日期和结束日期中,提取出排序在最前的日期和最后的日期,获得所述进度条的始末跨度天数;

跨度值计算单元22,用于计算所述进度条的宽度与所述进度条始末跨度天数的比值,获得每一天在所述进度条的跨度值;

刻度分布单元23,用于根据所述最前的日期、所述最后的日期和所述进度条的跨度值,确定所述进度条的刻度分布;其中,所述进度条的起始刻度为所述最前的日期,所述进度条的终止刻度为所述最后的日期,所述进度条的相邻刻度之间的距离为所述进度条的跨度值;

刻度区间确定单元24,用于根据所述进度条的刻度分布,确定所述每一个子阶段事件的开始日期和结束日期分别对应的刻度值,获得所述每一个子阶段事件在所述进度条中的刻度区间。

参见图5,是本发明提供的项目进度条图像生成的装置的刻度划分模块的计算与修正单元的一个实施例的结构示意图;

进一步地,所述进度条的刻度分布还包括箭头的刻度分布,则所述刻度划分模块还包括计算与修正单元25,所述计算与修正单元25用于在获得所述进度条的跨度值后,计算所述箭头占所述进度条的天数值和修正所述进度条的跨度值,具体包括:

箭头天数计算子单元251,用于在获得所述进度条的跨度值i后,根据所述箭头的预设长度s1和所述进度条的跨度值i,计算所述箭头占所述进度条的天数值d1,其中,floor()为向下取整函数;

箭头偏移计算子单元252,用于根据所述箭头占所述进度条的天数值d1,计算所述箭头的预设长度s1与所述箭头的实际长度之间的偏移值f1,f1=s1-d1*i;

偏移值判断子单元253,用于判断所述箭头的偏移值f1和所述进度条的偏移值f2是否均大于偏移值阈值;其中,f2=s2-d2*i,s2为所述进度条的宽度;d2为所述进度条的始末跨度天数;

跨度值修正子单元254,用于当所述箭头的偏移值f1大于所述偏移值阈值时,或者当所述进度条的偏移值f2大于所述偏移值阈值时,根据所述箭头的偏移值,修正所述进度条的跨度值为i,

重新计算子单元255,用于根据修正后的所述进度条的跨度值i,重新计算所述箭头占所述进度条的天数值d1、所述箭头的偏移值f1和所述进度条的偏移值f2,直至所述箭头的偏移值f1和所述进度条的偏移值f2均小于所述偏移值阈值;

数值输出子单元256,用于当所述箭头的偏移值f1和所述进度条的偏移值f2均小于所述偏移值阈值,输出所述箭头占所述进度条的天数值d1和所述进度条的跨度值i。

参见图6,是本发明提供的项目进度条图像生成的装置的标志显示确定模块的一个实施例的结构示意图;

进一步地,所述标志显示确定模块30,具体包括:

里程碑宽度计算单元31,用于计算所述每一个标志性事件的文字占位长度与所述进度条的标志显示比例的乘积,获得所述每一个标志性事件以里程碑方式显示在所述进度条中的里程碑宽度;所述标志显示比例为一个文字显示在所述进度条的图像中所占据的单位长度;

显示位置确定单元32,用于根据所述进度条设置的里程碑显示方式和每一个标志性事件在所述进度条中显示的里程碑宽度,确定每一个标志性事件在所述进度条上的显示位置。

参见图7,是本发明提供的项目进度条图像生成的装置的标志显示确定模块的显示位置确定单元的一个实施例的结构示意图;

进一步地,所述显示位置确定单元32,具体包括:

排序子单元321,用于根据所述每一个标志性事件的完成日期,对所述每一个标志性事件按时间先后进行排序;

首位置确定子单元322,用于对于第1个标志性事件,将所述第1个标志性事件以里程碑显示方式显示在所述进度条的第一里程碑层级时的位置作为所述第1个标志性事件在所述进度条上的位置;

非首位置判断子单元323,用于对于第i个标志性事件,将所述第i个标志性事件以里程碑显示方式显示在所述进度条的第一里程碑层级的位置时,根据所述第i个标志性事件在所述进度条中显示的位置和里程碑宽度、以及在当前里程碑层级显示的前一标志事件的里程碑的位置和里程碑宽度,判断所述第i个标志性事件的里程碑与其所在层级的前一个标志性事件的里程碑是否有重叠;i为大于1的自然数;

第二位置确定子单元324,用于当所述第i个标志性事件的里程碑与其所在层级的前一个标志性事件的里程碑是有重叠时,则继续将所述第i个标志性事件以里程碑显示方式显示在所述进度条的下一里程碑层级的位置进行判断,直至所述第i个标志性事件的里程碑与其所在层级的前一个标志性事件的里程碑没有重叠为止,并将所述第i个标志性事件在当前里程碑层级显示的位置作为所述第i个标志性事件在所述进度条的显示位置。

第二位置确定子单元325,用于当所述第i个标志性事件的里程碑与其所在层级的前一个标志性事件的里程碑没有重叠时,将所述第i个标志性事件在当前里程碑层级显示的位置作为所述第i个标志性事件在所述进度条的显示位置。

参见图8,是本发明提供的项目进度条图像生成的装置的图像渲染生成模块的一个实施例的结构示意图;

进一步地,所述图像渲染生成模块具体包括:

框架渲染单元41,用于根据所述进度条的刻度分布,渲染生成所述进度条的框架;

阶段渲染单元42,用于根据所述每一个子阶段事件在所述进度条的刻度区间以及每一个子阶段在所述进度条中显示的颜色均不相同的要求,渲染所述进度条中显示每一子阶段的刻度区间的颜色和刻度区间对应的子阶段事件内容;

里程碑渲染单元43,用于根据所述每一个标志性事件在所述进度条的显示位置,依据显示位置从上到下和从右到左的方式,逐个将标志性事件以里程碑方式渲染在所述进度条中,完成所述进度条的图像生成。

再进一步地,所述里程碑显示方式为:标志性事件的完成日期在所述进度条上的刻度值所在位置与所述标志性事件的里程碑的中心位置同在一轴线上,且显示所述标志性事件的里程碑与所述标志性事件的完成日期在所述进度条上的刻度值所在位置的连接线。

本发明实施例提供的项目进度条图像生成的装置,通过接收项目的阶段数据和里程碑数据,并对阶段数据和里程碑数据进行解析,获得项目的相关参数信息,根据参数信息自动渲染生成项目的进度条图像,从而实现了根据项目数据能够自动生成项目的进度条图像,并调整进度条中子阶段与里程碑排版,来确保生成项目进度条图像的合理性,从而避免进度条上的信息显示被遮挡。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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