VisualGraph绘图程序(附源码)
最近有个项目要求模拟电气线路状态,大致要求就是画一个线路图,线路图中有许多开关设备,点击开关设备可以改变开关设备的状态,比如开关的闭合或颜色。这个项目的目的是用于演示,原本想找一些矢量绘图引擎,有一些的确不错,功能强大,但费用也比较强大。想想看这个项目的目的,以前也研究过mfc的drawcli,就决定自己做一个吧。 codeproject上有一个drawtools,是C#版的DrawCli实现,我看了一下,也不复杂。按照DrawCli的思路,陆续地花了一星期,组件基本功能已大致满足项目的需要了。
起初,项目并不要求人工设计线路图,所以没有开发设计器,图形都是用程序生成的。项目演示过了,我看看这个初具雏形的组件,就给做了一个最简单的设计器,和Drawtools的功能应该只强不弱了。UI用的是WeifenLuo.WinFormsUI,这个开源的组件是个好东西。目前的项目只有最最基本的功能,有许多Bug,我的目的是抛砖引玉。对于这个项目,目前的想法是将他做完善,发展成一个通用的图形化组件,通过简单的二次开发或plug-ins,实现基于图形的应用。目前的一个方向是做一个单据打印组件。
我在这儿把VisualGraph组件的源码发布出来, 有兴趣的可以参考,也欢迎大家提出意见和讨论。
说明一下项目结构
Solution:VisualGraph,VS2005,C#
VisualGraph:Class Library,绘图组件
VisualGraphDesigner:Windows Application, 设计器
TestGdiPlus:一个独立的Windows Application,测试了一些Gdi+函数的使用
VisualGraphGUI:测试VisualGraph的工程
VisualGraphTest:NUnit的测试工程
下面是两个示意图,vg1.xml,vg2.xml
图一:vg1.xml
图2: vg2.xml
源代码下载