当前位置:首页 > 工业技术
Visual C++实践与提高  图形图像编程篇
Visual C++实践与提高  图形图像编程篇

Visual C++实践与提高 图形图像编程篇PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:李于剑编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2001
  • ISBN:7113040446
  • 页数:486 页
图书介绍:
《Visual C++实践与提高 图形图像编程篇》目录

第1章 图形基础编程 1

1.1 图形编程的基础知识 1

1.1.1 图形设备接口GDI 2

1.1.2 设备环境DC 2

1.1.3 设备环境类 2

1.1.4 GDI对象 8

1.1.5 使用库存GDI对象 9

1.2.1 OnDraw成员函数 10

1.2 在视图内绘图 10

1.1.6 DC与GDI设备之间的关系 10

1.2.2 Windows设备环境 11

1.3 与绘图相关的GDI对象类 11

1.3.1 CPen类 12

1.3.2 CBrush类 17

1.3.3 CFont类 20

1.3.4 CRgn类 23

1.3.5 CPalette类 28

1.4.1 Windows映射模式简介 29

1.3.6 CBitmap类 29

1.4 坐标变换和映射模式 29

1.4.2 如何设置映射模式 30

1.4.3 逻辑坐标和设备坐标的转换 33

1.4.4 窗口和视口 36

1.5 如何设置绘图模式 37

1.6 本章小结 39

第2章 各种图形元素的绘制 41

2.1 图形元素绘制的实现方法 41

2.1.1 绘制点、直线 41

2.1.2 绘制矩形 43

2.1.3 绘制简单曲线 44

2.1.4 绘制复杂曲线 48

2.1.5 绘制文本 48

2.2 使用鼠标绘图 53

2.2.1 如何响应鼠标消息 53

2.2.2 如何捕获和设置鼠标状态 55

2.2.3 用鼠标绘制各种基本图元 60

2.2.4 实现绘图的拖曳显示 66

2.3 图形的重画 68

2.3.1 全部重画 68

2.3.2 局部重画 69

2.3.3 如何解决闪屏现象 70

2.4 应用实例 70

2.4.1 实例1:绘制三次曲线 70

2.4.2 实例2:实现曲线的选取功能 75

2.4.3 实例3:在对话框中实现各种图形的绘制 78

2.5 本章小结 85

第3章 图形应用程序的设计思路 87

3.1 面向对象的图形应用程序设计 87

3.1.1 派生和继承 87

3.1.2 函数覆盖与重载 89

3.1.3 虚函数机制 93

3.1.4 多态性的应用 94

3.2.2 类的层次性 95

3.2.1 抽象基类 95

3.2 图形类的设计 95

3.2.3 图形类的构造和析构函数 96

3.2.4 基类CEntity 98

3.2.5 从CObject类派生 101

3.2.6 一个派生类CLine 102

3.3 数据结构和数学模型 103

3.3.1 数据结构 103

3.3.2 数学模型 107

3.4.1 框架内存分配 108

3.4 内存管理 108

3.4.2 堆内存分配 109

3.4.3 内存分配的应用实例 110

3.5 数据存储和文件管理 111

3.5.1 文件存储格式 111

3.5.2 序列化和反序列化 112

3.5.3 应用程序的不同版本 114

3.6.1 界面环境设计的原则 116

3.6 系统交互界面环境设计 116

3.5.4 数据交换文件 116

3.6.2 面向对象的消息响应机制 119

3.6.3 元素的拾取与选择方式 120

3.7 交互图形的辅助工具 122

3.7.1 栅格 122

3.7.2 动态导航 123

3.7.3 橡皮线 123

3.8 本章小结 123

第4章 小型图形系统的实现——图形的绘制 125

4.1 本书小型图形软件简介 125

4.1.1 传统图形软件的实现方法 125

4.1.2 本书图形软件的实现方法 126

4.2 图形软件的初步实现 126

4.2.1 建立工程VCad(Visual CAD的缩写) 126

4.2.2 加入命令和响应消息 127

4.2.3 软件基本变量及环境设置 129

4.3.1 关于Cpoint 131

4.3 位置类Position 131

4.3.2 基础类Position的实现 132

4.3.3 Position(世界坐标)和CPoint(屏幕坐标)的关系 137

4.4 基类CEntity和CCommand 139

4.4.1 图形基类CEntity 139

4.4.2 命令基类CCommand 142

4.5 直线的绘制 143

4.5.1 设置图形元素的绘制环境 143

4.5.2 直线类CLine 145

4.5.3 创建直线命令类CCreateLine 148

4.5.4 实现直线的绘制 152

4.5.5 关于重画问题 155

4.5.6 橡皮线功能的测试 156

4.6 矩形、圆和圆弧的绘制 158

4.7 文件存储及内存管理 158

4.7.1 文档的“脏”标记 158

4.7.2 释放图元链表的内存空间 159

4.7.3 文件的存储和加载 160

4.8 本章小结 163

5.1 给图元类添加编辑成员函数 165

5.1.1 在基类中添加成员函数 165

第5章 小型图形系统——图元编辑和缩放显示 165

5.1.2 在图元类添加成员函数 166

5.2 图元的包围盒计算 166

5.2.1 直线的包围盒计算 166

5.2.2 矩形和圆的包围盒计算 166

5.2.3 圆弧的包围盒的计算 167

5.3.1 拾取的精度 168

5.3 图元的拾取算法 168

5.3.2 直线的拾取 169

5.3.3 矩形的拾取 170

5.3.4 圆的拾取 171

5.3.5 圆弧的拾取 171

5.4 实现图元的选取 173

5.4.1 添加选择集 173

5.4.2 选择集的实现 174

5.4.3 图元的交互选取 177

5.5 图元的编辑算法 179

5.5.1 图元的移动 180

5.5.2 图元的旋转 181

5.5.3 图元的镜像 181

5.5.4 图元的删除 182

5.6 实现图元的交互编辑 182

5.6.1 添加编辑命令类 182

5.6.2 平移类的实现 183

5.6.3 旋转类的实现 187

5.6.4 镜像类的实现 193

5.6.5 图元的交互编辑 198

5.7 实现不同的显示方式 200

5.7.1 移动画面 201

5.7.2 键盘缩放画面 201

5.7.3 画面的局部缩放 202

5.7.4 满屏显示 203

5.8 本章小结 204

6.1.1 添加绘图和编辑工具栏以及视图工具栏 205

6.1 添加工具栏 205

第6章 小型图形软件系统——美化软件界面 205

6.1.2 添加属性工具栏 209

6.1.3 设置工具栏的位置 219

6.2 修改状态条 221

6.3 设置不同状态的光标 222

6.3.1 绘制状态时的光标 222

6.3.2 编辑状态时的光标 223

6.3.3 高亮提示时的光标 223

6.4 添加启动时的闪烁窗口 224

6.5 实现从Explorer启动和拖放 225

6.5.1 程序注册 226

6.5.2 在文档上双击鼠标左键 227

6.5.3 允许拖放 227

6.6 本章小节 228

7.1.1 位图与矢量图 229

第9章 图像的显示、变换及颜色处理 229

第7章 图像编程基础 229

7.1 图像基本概念和图像编码 229

7.1.4 彩色图像 230

7.1.2 单色图像 230

7.1.3 灰度图像 230

7.2 调色板的基本概念和应用 231

7.2.1 调色板的原理 231

7.2.2 调色板的创建 232

7.2.3 调色板使用方法 235

7.2.4 MFC中与系统调色板有关的消息 235

7.2.5 调色板的应用实例 237

7.3 依赖于设备的位图(DDB)和类CBitmap 241

7.3.1 位图的基本概念 241

7.3.2 DDB的创建 242

7.3.3 DDB的用途和显示 247

7.3.4 位图的部分显示 248

7.4本章小结 252

第8章 DIB位图及CDib类 253

8.1 与设备无关的位图DIB 253

8.1.1 Windows DIB位图的结构 253

8.1.2 OS/2 DIB结构 257

8.1.3 DIB位图的操作 258

8.1.4一个DIB位图的例子 267

8.2 CDib类 275

8.2.1 Win32 SDK的DIB API函数 275

8.2.2 构造CDib类 277

8.2.3 CDib类的使用 294

8.3 本章小结 297

9.1 图像显示处理 299

9.1.1 显示处理的基础 300

9.1.2 扫描 301

9.1.3 移动 306

9.1.4 百叶窗 311

9.1.5 栅条 314

9.1.6 马赛克 319

9.1.7 渐显 327

9.2 图像的几何变换处理 327

9.2.1 裁剪 328

9.2.3 缩放 332

9.2.2 平移 332

9.2.4 镜像 336

9.3 图像的颜色处理 340

9.3.1 图像的颜色处理理论 340

9.3.2 灰度化处理 340

9.3.3 亮度和对比度调整 343

9.4 本章小结 353

第10章 图形图像文件格式之间的转换 355

10.1 图形文件格式转换 355

10.1.1 常见图形文件格式 355

10.1.2 将自定义文件格式存为DXF格式 357

10.1.3 将图形文件存为图像文件 364

10.1.4 如何加载常见的图形文件格式 365

10.2 图像文件格式转换 365

10.2.1 常见图像文件格式 365

10.2.2 DDB转换为DIB 366

10.2.3 DIB转换为DDB 369

10.3 应用实例:在文件打开对话框中预览图形图像 370

10.3.1 生成预览位图——在内存位图中绘制图形 371

10.3.2 存取位图数据 373

10.3.3 在打开和保存文件对话框中显示位图 374

第11章 打印和打印预览 389

11.1 关于MFC的打印和打印预览 389

11.1.1 OnDraw函数 389

11.1.2 OnPrint函数 390

11.1.3 打印及打印预览过程 390

11.2.2 关于打印时的缩放 391

11.2 单页文档的打印 391

11.2.1单页文档打印的简单实例 391

11.3 多页文档的打印 392

11.3.1 设置映射模式 392

11.3.2 计算可打印区域 392

11.3.3 分页打印 393

11.4 位图的打印 400

11.5.1 创建新的位图类 403

11.5 所见即所得的打印:抓屏打印 403

11.5.2 实现新的位图类 408

11.6 本章小结 410

第12章 使用OpenGL开发图形图像 413

12.1 OpenGL简介 413

12.1.1 OpenGL函数的分类 413

12.1.2 OpenGL函数的功能 414

12.1.3 OpenGL的数据类型和函数名 415

12.2 使用VC++开发OpenGL应用程序 416

12.2.1 使用GLU和AUX函数 416

12.2.2 使用MFC和专用函数 420

12.2.3 两种开发方法之间的联系 427

12.3 基本绘制方法 427

12.3.1 清除窗口中的内容 427

12.3.2 绘制图原 428

12.3.3 设置颜色 432

12.3.4 设置图原的样式 435

12.4.1 如何在二维平面显出三维空间 439

12.4 变换 439

12.4.2 视点变换和模型变换 440

12.4.3 投影变换 444

12.4.4 视口变换 446

12.4.5 变换矩阵操作 447

12.5 光照与材质 447

12.5.1 现实世界与OpenGL光照 448

12.5.2 一个简单的光照实例 449

12.5.3 创建光源 451

12.5.4 多光源 453

12.5.5 选择光照模型 453

12.5.6 定义材质特性 454

12.5.7 漫射和环境反射 455

12.5.8 镜面反射 455

12.5.9 出射光 456

12.5.10 改变材质特性 456

12.6 图像处理 460

12.6.1 相关函数介绍 460

12.6.2 图像处理实例 462

12.6.3 基本知识 469

12.6.4 应用实例 470

12.7 本章小结 475

第13章 Directx简介 477

13.1 DirectDraw简介 477

13.1.1 什么是DirectX 477

13.1.2 DirectDraw的优越性 478

13.1.3 DirectDraw中的基本概念 478

13.1.5 DirectDraw的组成 480

13.1.4 DirectDraw的体系结构 480

13.2 Direct3D简介 481

13.2.1 什么是Direct3D 481

13.2.2 Direct3D的体系结构 482

13.2.3 Direct3D的组成 482

13.2.4 DirectDraw、 Direct3D、和Direct3D接口的关系 484

13.2.5 Direct3D的几何变换管道 484

13.2.6 Direct3D的设备类型 485

13.3 本章小结 486

相关图书
作者其它书籍
返回顶部