最近项目要使用图形对网元进行展示,我们考虑了一些图形库,最终确定使用开源的Netron作为底层支撑。主要原因是:
1、商业软件太贵,买不起。
2、能找到盗版吧,又太大,例如FlowChart.Net和Essential Diagram,前者我下载试了一下,后者我有V5的源代码,实在太庞大了,没法玩,对于我们用的功能很少的情况下,这东西太宏大了。
3、一些免费的控件功能不全,有些停止开发了。
4、Netron号称是天才程序员的作品,看截图,貌似很强大的样子。
5、源代码组织貌似比较清晰,读起来应该问题不大。
6、免费啊,开源啊,很好很强大。
这个Netron有些悲壮,具体的历史和现状,请参考这里:http://netcobra.cnblogs.com/archive/2006/07/01/440539.html
这里列出一些资源
下载点:http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/n/ne/netron-reloaded/,关键是那个Arch文档,值得看看,而且能够找到Lite25版本
3.0的下载点:http://www.orbifold.net/default/?page_id=1272
3.0的文档太少了,基本没有可以参考的价值。只能自己摸索,所以我才会慢慢将这些东西记录下来备查。
术语表
- Canvas:画布,展现图形的地方
- Graph:图形,简单说,就是一幅图,包含节点,连线和其他图元。
- Graph Library:图形库,应该是图元库
- Edge:连接的点,数学术语???
- Connection:一条连接两个点(图元)的线段
- Node、Vertex、Shape:图元,绘制图形的基本单位
- Connector:图元上的连接点,如果用过Visio,应该很明白这个鸟东西。
编译
V3
从http://www.orbifold.net/default/?page_id=1322下载Netron3X.zip解压之后,打开工程文件,VS2008下手工删除那些不存在的工程,以下列出几个工程的具体含义。
- Netron.Neon:化学,氖,哼哼,一个瀑布界面库,Office2003的风格,实现停靠,菜单等等。
- Netron.Xeon:内置的HTTPServer,现在 DotNet自己都有内置的Asp.Net解析器了,貌似这个东西就没有什么用处了。
- Yttrium.**:图形界面,为IDE服务的组件
- Cobalt.***:IDE
- Netron.Diagramming.***:核心组件
Lite25
相对来说,这个版本的代码简单多了,一个Demo,一个Core,完了,实在是简单明了。