书籍详情

矢量图形系统开发与编程

矢量图形系统开发与编程

作者:陈建春编著

出版社:电子工业出版社

出版时间:2004-01-01

ISBN:9787505392526

定价:¥69.00

购买这本书可以去
内容简介
  本书是矢量图形系统开发技术和VC++ 编程技术的集合体,并以矢量图形系统的开发实例为主线贯穿全书,全面介绍和分析了MFC程序设计技术和矢量图形系统各功能的开发技术。包括各种MFC辅助工具的使用方法,与图形有关的MFC类,文档和视图的实现,鼠标交互绘图,图形的无级放缩和回溯,图形的选中,图形的删除和文档逆向操作,图形的存储组织,子图、颜色、线型管理,图形打印,图形的旋转、放缩和移动,线型制定和绘制,多边形区域的子图填充,提高图形的放大倍数,大容量的图形数据组织,图形外部接口,图形元素的平面关系计算,区域的相交、相并、剪裁等叠加操作,矢量显示位图,图形的拷贝、剪裁和粘贴,矢量图形系统的网络化等各方面的内容。不论初学者还是高级技术人员,都会从本书中获益。本书的代码适用于VC++5.0到VC++7.0及以后的各版本。本书适用于GIS, CAD, MIS等领域从事软件开发的广大技术人员,也可作为大专院校相关专业的教材。
作者简介
  陈建春,34岁,北京交通大学教师、博士。长期从事GIS、MIS、CAD、DSS、通用电子表格系统等项目的研究和开发工作。开发完成了通用多媒体GIS、青藏铁路调度指挥系统、国税纳税申报系统报表制作工具、新建铁路施工指挥系统、地质图形浏览系统、绣花图案编辑系统等。出版过《VisualC++ 开发 GIS 系统——开发实例剖析》、《VisualC++ 高级编程技术——》等。
目录
第一篇  VC++程序设计技术要点                  
 第1章  MFC应用程序设计开发工具                  
     1. 1  使用MFC AppWizard                  
     1. 1. I  MFC AppWizard的启动                  
     1. 1. 2  利用MFC AppWizard产生MFC应用程序的步骤                  
     1. 2  使用ClassView                  
     1. 2. 1  启动ClassView                  
     1. 2. 2  编辑定位                  
     1. 2. 3  增加类                  
     1. 2. 4  增加类的成员                  
     1. 3  使用ResourceView                  
     1. 3. 1  ResourceView的调用                  
     1. 3. 2  ResourceView工作分析                  
     1. 4  使用FileView                  
     1. 4. 1  打开一个程序项目                  
     1. 4. 2  FileView相关的操作功能                  
     1. 5  使用ClassWizard                  
     1. 5. 1  Windows消息                  
     1. 5. 2  消息处理函数                  
     1. 5. 3  ClassWizard的作用和启动                  
     1. 5. 4  ClassWizard管理消息处理函数                  
     1. 5. 5  ClassWizard管理重载虚函数                  
     1. 5. 6  CiassWizard管理映射变量                  
     1. 5. 7  管理Automation和ActiveX事件                  
     1. 5. 8  重新构造开发项目的ClassWizard工作信息                  
     1. 6  使用DataView                  
     1. 7  管理多个程序项目                  
     1. 8  使用各设计工具进行编程的建议                  
 第2章  MFC应用程序框架                  
     2. 1  MFC应用程序基本框架类和文件组成                  
     2. 1. 1  基本程序框架类                  
     2. 1. 2  应用程序的主要源文件组成                  
     2. 2  MFC应用程序中各个框架类的作用                  
     2. 3  MFC应用程序的执行步骤分析                  
     2. 4  MFC应用程序设计结构体系剖析                  
     2. 4. 1  标准菜单的执行分析                  
     2. 4. 2  修改标准菜单的执行功能                  
     2. 4. 3  MFC应用程序多态性的实现                  
     2. 4. 4  MFC应用程序中各框架类对象的相互调用关系                  
 第二篇  实现基本矢量图形系统                  
 第3章  与绘图有关的MFC类及操作                  
     3. 1  绘图类                  
     3. 1. 1  绘图类简介                  
     3. 1. 2  几个绘图类的主要差别                  
     3. 1. 3  绘图类的使用方法                  
     3. 2  绘图设备类                  
     3. 2. 1  CGdiObject类                  
     3. 2. 2  CPen类                  
     3. 2. 3  CBrush类                  
     3. 2. 4  CFont类                  
     3. 2. 5  CRgn类                  
     3. 2. 6  CPalette和CBitmap类                  
     3. 3  坐标映像方式                  
     3. 3. 1  Windows映像方式及其设置方法                  
     3. 3. 2  逻辑坐标与设备坐标的转换                  
     3. 4  窗口和视口                  
     3. 4. 1  窗口和视口的概念                  
     3. 4. 2  窗口和视口有关的操作函数                  
     3. 4. 3  窗口逻辑坐标与视口设备坐标的转换                  
     3. 5  其他绘图类操作函数                  
     3. 5. 1  选用绘图设备对象                  
     3. 5. 2  主要绘图属性设置函数                  
 第4章  实现基本矢量图形系统的文档和视图                  
     4. 1  组织矢量图形系统的图形元素类                  
     4. 1. 1  图形元素基类的组织                  
     4. 1. 2  直线类组织                  
     4. 1. 3  连续直线或多边形区域类组织                  
     4. 1. 4  圆类组织                  
     4. 1. 5  圆弧类组织                  
     4. 1. 6  标注文本类                  
     4. 1. 7  图形参数类                  
     4. 2  组织矢量图形系统的文档                  
     4. 2. 1  组织面向对象的文档存储管理机制                  
     4. 2. 2  利用MFC模板定义管理图形元素对象指针的对象                  
     4. 2. 3  实现矢量图形系统的文档                  
     4. 2. 4  实现文档的管理功能                  
     4. 3  实现矢量图形系统的视图                  
     4. 3. 1  组织实现坐标系                  
     4. 3. 2  实现各图形元素类的绘制函数                  
     4. 3. 3  视图类的OnDraw函数                  
     4. 3. 4  实现视图                  
 第5章  鼠标交互绘图                  
     5. 1  用鼠标绘图要解决的主要问题                  
     5. 1. 1  捕捉鼠标操作消息                  
     5. 1. 2  捕捉所有的鼠标输入                  
     5. 1. 3  在屏幕上拖动图形                  
     5. 1. 4  保存图形数据到文档                  
     5. 1. 5  将图形以实际的形态重画                  
     5. 2  加入一个绘图菜单                  
     5. 2. 1  增加菜单资源                  
     5. 2. 2  增加菜单的消息处理函数                  
     5. 3  交互绘制各种图形元素                  
     5. 3. 1  获得图形元素的惟一识别号                  
     5. 3. 2  绘制直线                  
     5. 3. 3  绘制连续直线和多边形区域                  
     5. 3. 4  绘制圆和圆形区域                  
     5. 3. 5  绘制圆弧                  
     5. 4  交互绘制标注文本                  
     5. 4. 1  对话框                  
     5. 4. 2  交互绘制标注文本的过程                  
     5. 4. 3  创建对话框资源                  
     5. 4. 4  实现标注文本对话框类                  
     5. 4. 5  实现标注文本交互绘制功能                  
 第6章  矢量图形系统的操作功能                  
     6. 1  增加图形操作菜单                  
     6. 1. 1  增加菜单资源                  
     6. 1. 2  增加消息处理函数                  
     6. 2  图形重画                  
     6. 2. 1  全屏重画                  
     6. 2. 2  局部重画                  
     6. 3  图形的放大和移动                  
     6. 3. 1  屏幕参数的计算方法                  
     6. 3. 2  图形放大和移动的实现                  
     6. 4  重画上屏和重画首屏                  
     6. 4. 1  需要记录屏幕状态                  
     6. 4. 2  实现重画上屏和重画首屏功能                  
     6. 5  显示全图                  
     6. 5. 1  各类图形元素边界矩形的计算                  
     6. 5. 2  实现显示全图功能                  
     6. 6  提高矢量图形系统重画速度的基本方法                  
     6. 6. 1  提高图形重画的速度                  
     6. 6. 2  提高图形重画速度的方法                  
     6. 6. 3  加快图形元素的绘制速度                  
     6. 7  实现滚动视图                  
     6. 7. 1  滚动视图的实现方法                  
     6. 7. 2  滚动区域参数设置                  
     6. 8  定制图形滚动功能                  
     6. 8. 1  确定滚动步长                  
     6. 8. 2  创建滚动条                  
     6. 8. 3  实现图形滚动功能                  
 第7章  图形的删除和恢复                  
     7. 1  鼠标点选图形元素                  
     7. 1. 1  各种图形元素的选中区域                  
     7. 1. 2  各种图形元素的点选判断函数                  
     7. 1. 3  选中图形元素的特殊显示                  
     7. 1. 4  实现点选图形元素功能                  
     7. 1. 5  放弃选中的图形元素                  
     7. 1. 6  图形元素的显示和选中顺序                  
     7. 2  图形元素的删除                  
     7. 2. 1  删除操作的类型                  
     7. 2. 2  从屏幕上删除图形元素的方法                  
     7. 2. 3  各类图形元素的删除操作                  
     7. 2. 4  实现图形元素删除操作                  
     7. 3  文档逆向操作                  
     7. 3. 1  逆向操作的含义                  
     7. 3. 2  记录文档编辑操作过程                  
     7. 3. 3  实现文档逆向操作                  
     7. 3. 4  实现操作过程的完全逆向化                  
 第8章  图形的存取功能                  
     8. 1  利用串行化存取文档                  
     8. 1. 1  CArchive类及CArchive对象的创建                  
     8. 1. 2  Serialize函数                  
     8. 1. 3  CObArray类的Serialize函数                  
     8. 2  实现矢量图形系统的存取功能                  
     8. 2. 1  实现各个图形元素类的串行化                  
     8. 2. 2  MFC框架程序的文档串行化机制                  
     8. 2. 3  实现矢量图形系统的文档存取功能                  
     8. 2. 4  SetModifiedFlag函数                  
 第9章  矢量图形系统的子图. 颜色. 图层管理                  
     9. 1  子图管理                  
     9. 1. 1  组织管理子图                  
     9. 1. 2  组织管理子图的图例                  
     9. 1. 3  创建子图的方法                  
     9. 2  管理各种图形参数                  
     9. 2. 1  管理颜色                  
     9. 2. 2  管理图层                  
     9. 2. 3  管理线型                  
     9. 2. 4  增加辅助绘图模式                  
 第10章  图形的打印输出                  
     10. 1  视图的打印机理和实现方法                  
     10. 1. 1  视图的打印机理                  
     10. 1. 2  打印功能的实现方法                  
     10. 2  实现矢量图形系统的打印功能                  
     10. 2. 1  实现图形分页打印功能                  
     10. 2. 2  实现具体的打印功能                  
 第11章  图形的旋转. 放缩和移动                  
     11. 1  图形旋转                  
     11. 1. 1  点与点的旋转操作                  
     11. 1. 2  各类图形元素的旋转操作                  
     11. 2  图形放缩                  
     11. 2. 1  一个点相对于基点的放缩操作                  
     11. 2. 2  实现各类图形元素的放缩操作                  
     11. 3  图形移动                  
 第三篇  开发矢量图形系统的高级功能                  
 第12章  线型的制定和绘制                  
     12. 1  线型的描述方式和实现方法                  
     12. 1. 1  线型的描述方式                  
     12. 1. 2  组成线型的图形元素                  
     12. 1. 3  实现线型所必须具备的功能                  
     12. 2  实现矢量图形系统的线型                  
     12. 2. 1  线型体的数据定义                  
     12. 2. 2  线型体的绘制                  
     12. 2. 3  绘制使用线型的直线段                  
     12. 2. 4  绘制使用线型的圆弧                  
 第13章  实现多边形区域的子图填充                  
     13. 1  填充子图的结构组织和制定                  
     13. 2  绘制子图                  
     13. 2. 1  各类图形元素中用于子图绘制的函数                  
     13. 2. 2  实现子图的绘制功能                  
     13. 3  绘制填充子图                  
     13. 3. 1  计算子图的插入点                  
     13. 3. 2  绘制填充子图                  
     13. 4  剪裁填充子图                  
     13. 4. 1  各个图形元素类中包含剪裁功能的绘制函数                  
     13. 4. 2  实现子图的绘制功能                  
 第14章  图形元素的放大操作                  
     14. 1  限制图形元素放大倍数的原因                  
     14. 1. 1  VC++基本图形绘制函数的参数取值限制                  
     14. 1. 2  影响图形元素放大倍数的原因                  
     14. 2  解决图形放大倍数的方法                  
     14. 2. 1  对图形元素进行剪裁操作                  
     14. 2. 2  剪裁操作的实现                  
 第15章  大容量图形数据的存储                  
     15. 1  数据存储问题的由来                  
     15. 1. 1  目前系统组织图形元素数据的机制和方法                  
     15. 1. 2  最可能引起内存和性能问题的图形元素                  
     15. 2  大容量图形数据存储问题的解决方法                  
     15. 2. 1  方案的选择                  
     15. 2. 2  用硬盘临时文件组织存储CPline类图形元素顶点数据的方法                  
 第16章  图形元素的平面几何关系计算                  
     16. 1  直线与多边形区域的关系                  
     16. 1. 1  直线与直线的关系                  
     16. 1. 2  直线与多边形区域的相交关系                  
     16. 1. 3  连续直线与多边形区域的相交关系                  
     16. 2  圆弧与多边形区域的关系                  
     16. 2. 1  圆与直线的关系                  
     16. 2. 2  圆弧与直线的关系                  
     16. 2. 3  圆弧与多边形区域的关系                  
     16. 3  各类图形元素与圆形区域的关系                  
     16. 3. 1  圆与圆的关系                  
     16. 3. 2  圆弧与圆形区域的关系                  
     16. 3. 3  直线与圆形区域的关系                  
     16. 3. 4  连续直线与圆形区域的关系                  
     16. 4  两个多边形区域的相交. 相并. 剪裁关系                  
     16. 4. 1  两个多边形区域的交集                  
     16. 4. 2  两个多边形区域的并集                  
     16. 4. 3  一个多边形区域剪裁另外一个多边形区域                  
     16. 5  环形区域的相交. 相并. 剪裁计算的思路                  
     16. 5. 1  实心区域与环形区域的相交. 相并. 剪裁计算                  
     16. 5. 2  两个环形区域相交. 相并. 剪裁计算的思路和方法                  
 第17章  矢量图形系统的外部接口                  
     17. 1  读入其他图形系统的图形                  
     17. 1. 1  读入AutoCAD的DXF文件                  
     17. 1. 2  读入MapGIS明码文件                  
     17. 1. 3  读入系统自身格式的接口文件                  
     17. 2  输出可识别的接口文件                  
     17. 2. 1  通过DXF文件输出                  
     17. 2. 2  输出到自身定义的接口格式                  
     17. 2. 3  输出到数据库                  
 第18章  矢量显示位图                  
     18. 1  位图文件的格式                  
     18. 2  CBitmap类及CBitmap对象的初始化方法                  
     18. 2. 1  CBitmap类                  
     18. 2. 2  初始化CBitmap类对象的方法                  
     18. 3  显示位图的步骤和主要的位操作函数                  
     18. 3. 1  显示位图的步骤                  
     18. 3. 2  位图操作函数                  
     18. 4  显示位图的函数实现                  
     18. 4. 1  显示装载在资源文件中的位图                  
     18. 4. 2  通过HBITMAP句柄装载显示位图文件                  
     18. 4. 3  用画点法选择装入位图数据显示位图                  
 第19章  利用剪裁板剪裁. 移动和拷贝图形                  
     19. 1  剪裁板使用方法                  
     19. 1. 1  打开. 关闭. 清空剪裁板                  
     19. 1. 2  存取剪裁板                  
     19. 1. 3  注册和检查剪裁板格式                      
     19. 2  用剪裁板实现图形元素的剪裁. 移动和复制功能                  
     19. 2. 1  实现各图形元素数据的字符串表示                  
     19. 2. 2  将要剪裁的图形元素数据写入剪裁板                  
     19. 2. 3  从剪裁板中读出图形元素                  
     19. 2. 4  实现图形元素的剪裁. 拷贝和粘贴操作功能                  
 第20章  实现网络化的矢量图形系统                  
     20. 1  网络化矢量图形系统的方案选择                  
     20. 1. 1  不允许多用户同时编辑方式                  
     20. 1. 2  允许多用户同时编辑方式                  
     20. 2  实现图形元素的数据库记录化                  
     20. 2. 1  直线等图形元素和图形参数的数据库记录化                  
     20. 2. 2  连续直线的数据库记录化                  
 附录  代码光盘与技术支持                  
 参考书目                  

猜您喜欢

读书导航