绘图小工具0.0.1版本发布--vc版本
来源:互联网 发布:js array push pop 编辑:程序博客网 时间:2024/05/17 22:07
最近遇到了一些要绘图的,找了一下,发现要绘图的地方还是蛮多的,但往往绘制的图形都比较的简单,比如做一些简单的统计,
常常都只要一个图,画一个x-y轴再加一条拆线,而网上找到的要么无比复杂,要么无比简单,达不到要求,所以做这个这样的绘图
程序还有很有用处的。
绘图程序比较好的开源的:
①对于C#,就是大名鼎鼎的 DrawTools 了,如果想学习一些绘图的,以及一些简单的面向对象编程的,可以自行google。
②对于C++,那就是drawcli了,可是我去codeproject上看了一下,源码好像就有1M多,怕了,就到google上找,找到了 海市蜃楼 的这篇文章,是模仿的drawcli,但是简化了很多,可是他的东西在设计上有点问题,上下层耦合紧密,不利于分开来用。下面这篇文章讲一下这几天的改造过程和一些遇到的问题,我将现在的版本定义为0.0.1,是因为这个版本还有很多问题,以后我会持续的更新。
类图
类的继承关系比较简单,CODShape是所有图元的基类,CODShapeTool是所有图元的操作的基类,是一一对应关系
所做和一些分离操作
在原源码中,甚至在CODShapeTool这样的基类里面都存在着对上层的调用,这是不合理的,我在改造的过程中,引入了CMetas和CMetaContext这两个类,CMetas相当于图元的集合,以及对图元的操作,CMetaContext如其名,主要负责保存一些上下文信息,这样就将在原程序中的是层的对图元的操作全部放到CMetas中来。
循环引用
这在C#中好像从来都不是问题,但是对于C++,比如CMetaContext类要用到CODShapeTool,而CODShapeTool为了与上层解耦,就需要引用CMetaContext这样就形成了循环引用,对于C++中的循环引用,我研究的不多,对于我遇到的这种情况,可以采用在.h文件中用前置申明,在.cpp中include的办法来解决。
其它问题
源码之前,了无秘密,有什么疑问,可以提问,或者等待下一个版本的发布。
关于版权,本源码可以随意复制,修改或者用于商业用途,但请保留作者申明。同时不知道海市蜃楼他的版权申明是怎样的,如果有任何版权问题,可以与我联系,我会马上处理。
嗯,这个IntraduceToPrint我会持续更新下去,记得以前想找一些面向对象编程的源码时,总是找到的,要么太简单,泛泛而谈,要么无比复杂,让人望而却步,所以我会把从0.0.1到以后的版本都保存起来,这样有利于和原来的我一样的初学者。
- 绘图小工具0.0.1版本发布--vc版本
- 小工具发布:车辆违章查询 v1.0.0.1
- vc常用小工具
- GNUPLOT - 数理绘图小工具
- Java初学者:图书管理小工具(MySQL版本)代码
- ArcGIS版本比较的小工具-Compare Versions
- 【软件发布】发布小工具
- 发布一个小工具:EasyDump
- 发布小工具,无法完成
- 发布几个PDF小工具
- 发布个归档小工具
- 发布几个PDF小工具
- VC 工程瘦身小工具
- VC下的小工具
- Spy++使用(VC小工具)
- 版本1发布
- 十个必备的.NET开发小工具(9 & 10):版本切换和转换工具
- 十个必备的.NET开发小工具(9 & 10):版本切换和转换工具
- 几种类型的内存模型
- MYSQL命令大全
- 数学函数学习
- poj2234——Matches Game
- cassandra
- 绘图小工具0.0.1版本发布--vc版本
- 团队 急急急
- moosefs
- s:property标签显示html代码
- sql server日期时间格式转换字符串简介
- 苹果就像一家大型创业公司,成功产品的关键是小团队
- Hibernate之映射值类型集合(映射set)
- javaScript+DIV+CSS实现下拉菜单
- javaScript+CSS实现表格变色