最近用户对我们的软件提了一个新的需求,就是把web端做好的流程图,保存之后要能在Winform的客户端应用程序可以看到。
记得上回我给大家分享了从数据库加载xml数据显示和将xml数据保存到数据库,那么显然,我们在将xml保存到数据库之前,还需要将xml数据做一个转换,转换成图像数据,然后base64编码之后保存到数据库。
这就不得不涉及到mxgraph的一个用于dotnet的一个开发库,可以在 https://github.com/jgraph/mxgraph 上下载到,下载之后找到dotnet文件夹,打开里面的解决方案,然后编译,会生成一个dll。
这里重点讨论一下,web端和客户端数据传输的问题,虽然我们用的是mysql数据库,我们也可以获取到流程图的xml数据,但是我们如何将其转化成图像数据呢?mxGraph已经封装了一些操作,我们可以直接调用这些操作来生成图像数据
核心的类就是mxCellRenderer类,里面有一个方法叫做CreateImage,参数比较多,一一讲解:
CreateImage:
- graph - 你构建的mxGraph对象
- cells - 流程块,一般为null,因为流程块信息都在graph对象里面
- scale - 缩放,通常为1,即不缩放
- background - 生成图片的背景颜色,最好给成控件的背景色
- antiAlias - 抗锯齿,当然要抗锯齿了啊
- clip - mxRectangle对象,一般给null
那么现在很明确了