使用图片生成器设置activiti6.0源代码分析的流程图高亮显示

在一个流程流的过程中,可能经过了多个节点,也可能停留在一个任务节点。那么我们如何直观的显示当前流程已经完成了哪些节点,或者当前流程此时已经到了哪里?那么这里使用的是activiti提供的图像生成器ProcessDiagramGenerator。使用它,您可以突出显示流程中的节点或连接(即用明显的颜色圈出它们),并生成图片的输入流。当然,你也可以在流程图中设置每个节点的图标和字体。

如果默认的图片生成器不能满足我们的业务需求,比如我要求用户在任务高亮显示时使用蓝色或其他颜色,我希望图片中显示的字体为粗体和斜体?那么如果是这样,应该如何实现呢?

自定义类继承了DefaultProcessDiagramCanvas,其中业务需求是连接用蓝色标记,所以需要重写drawConnection方法,只需要在高亮显示的参数为true时修改连接的颜色。

2.扩展defaultprocessdiagramcongenerator,在初始化ProcessDiagramCanvas时,使用自定义的ProcessDiagramCanvas,只需要修改initprocessdiagramcavan方法中的最后一个行为,就可以创建我们自定义的initprocessdiagramcavan。

注意:必须同时定义generateProcessDiagram方法,实现与DefaultProcessDiagramGenerator中相同。如果没有定义,程序仍然会调用DefaultProcessDiagramGenerator中的generateProcessDiagram方法来生成默认的DefaultProcessDiagramCanvas。

3.使用自定义图片生成器生成流程图。

-产生结果