第1章 绘图编程 1
1.1 功能强大的TCanvas 1
1.2 TColor 1
1.3 TCanvas的属性 2
1.3.1 画笔属性 2
1.3.2 画刷属性 3
1.3.3 字体属性 4
1.3.4 Pixels属性 6
1.3.5 CopyMode属性 6
1.3.6 PenPos属性 7
1.3.7 ClipRect属性 7
1.4 TShape 7
1.5 TCanvas方法的使用 12
1.5.1 TCanvas的画线方法 12
1.5.2 绘制填充图形 15
1.5.3 文本输出函数 18
1.5.4 图形拷贝方法 20
1.6 绘图程序开发 23
1.6.1 响应鼠标事件 23
1.6.2 构造绘图类 26
1.6.3 切换快捷按钮 31
1.6.4 绘图功能的实现 32
1.7 本章小结 44
第2章 图像处理 45
2.1 图像概述 45
2.2 TPicture 46
2.2.1 TPicture对象的主要方法 46
2.2.2 TPicture对象的主要属性 47
2.3 TImage 48
2.3.1 装入和保存图像 48
2.3.2 设置图像属性 49
2.3.3 图像浏览器 50
2.3.4 在TImage控件上绘图 51
2.4 TImageList 55
2.5 TPaintBox 57
2.6 TGraphic对象 61
2.7 元文件 63
2.8 位图对象 70
2.8.1 在位图上绘图 70
2.8.2 透明位图 71
2.8.3 位图调色板 72
2.8.4 位图像素操作 75
2.9 图形数据交换 80
2.10 图像处理程序的开发 82
2.10.1 Image程序的工作原理 82
2.10.2 获得图像像素值 83
2.10.3 图像处理功能的实现 84
2.11 本章小结 90
第3章 利用TeeChart制作图表 91
3.1 TeeChart快速入门 91
3.1.1 C++Builder中TeeChart控件 91
3.1.2 使用TChart或TDBChart创建图表 91
3.1.3 使用TQRChart创建图表 94
3.2 操纵数据序列 95
3.2.1 数据序列的类型 95
3.2.2 动态创建、删除、操纵序列 102
3.3 处理图表 103
3.3.1 在图表上绘图 103
3.3.2 图表的缩放和滚动 107
3.3.3 单击事件 112
3.3.4 图表的保存 114
3.3.5 图表的打印 115
3.4 本章小结 117
第4章 应用GDI函数 118
4.1 设备描述表 118
4.2 GDI坐标系统、映像模式 121
4.2.1 GDI坐标系统、映像模式概述 121
4.2.2 设置映像模式 122
4.2.3 坐标变换 125
4.3 利用GDI函数扩展VCL绘图功能 125
4.3.1 创建画刷 125
4.3.2 旋转字体 125
4.4 调色板 127
4.4.1 理解调色板 127
4.4.2 系统调色板与逻辑调色板 127
4.4.3 使用逻辑调色板 127
4.5 区域对象 131
4.5.1 区域的创建 131
4.5.2 区域的操作 132
4.5.3 区域的绘制 135
4.6 图形资源 138
4.6.1 建立图形资源 138
4.6.2 装载图形资源 139
4.6.3 使用光标资源 142
4.7 本章小结 143
第5章 其他图像控件的使用 144
5.1 TImgEdit控件 145
5.1.1 TImgEdit控件的功能 145
5.1.2 TImgEdit控件的属性、方法和事件 146
5.1.3 应用举例 149
5.2 TImgAnnTool控件 156
5.3 TImgScan控件 163
5.3.1 TImgScan控件概述 163
5.3.2 TImgScan控件的属性、方法和事件 163
5.3.3 TImgScan控件的使用 165
5.4 TImgAdmin控件 167
5.4.1 TImgAdmin控件的属性和方法 167
5.4.2 TImgAdmin控件的使用 168
5.5 TImgThumbnail控件 172
5.5.1 TImgThumbnail控件概述 172
5.5.2 TImgThumbnail控件的属性和方法 173
5.5.3 TImgThumbnail控件的使用 174
5.6 图像控件的综合使用 177
5.7 本章小结 187
第6章 自编一简单的地理信息系统 188
6.1 地理信息系统概述 188
6.1.1 地理信息系统的发展 188
6.1.2 GIS的空间数据结构 189
6.2 系统的总体规划 190
6.3 矢量图像的显示 192
6.4 栅格图像的显示 198
6.5 图像的叠加 207
6.5.1 栅格图像和矢量图像的叠加 207
6.5.2 矢量图像和矢量图像的叠加 215
6.6 图像的代数运算 218
6.7 图像的平滑和锐化 225
6.8 制作调色板 235
6.9 其他一些功能 241
6.9.1 再分类 241
6.9.2 文件描述 248
6.9.3 保存为其他图像格式 250
6.9.4 系统的片头 251
6.9.5 关于模块 253
6.10 本章小结 256
第7章 OpenGL 257
7.1 OpenGL概述 257
7.1.1 OpenGl的发展 257
7.1.2 有关OpenGL的概念 257
7.1.3 与OpenGL相关的库函数 260
7.1.4 C++Builder中利用OpenGL的步骤 261
7.2 绘制几何体 273
7.2.1 点、线、多边形的绘制 273
7.2.2 控制点、线的属性 281
7.2.3 曲线、曲面的绘制 286
7.3 利用显示列表 296
7.3.1 为何要利用显示列表 296
7.3.2 创建并调用显示列表 297
7.4 使用OpenGL应用程序库 302
7.5 OpenGL中图形的变换 310
7.5.1 变换基础 310
7.5.2 几何变换 311
7.5.3 投影变换 315
7.5.4 视口变换 317
7.6 光照处理 322
7.6.1 光照处理概述 322
7.6.2 光照处理的一般步骤 322
7.6.3 光源 329
7.6.4 材料 336
7.7 混合、反走样和雾化 346
7.7.1 混合 346
7.7.2 反走样 351
7.7.3 雾化 351
7.8 OpenGL的一个具体应用 351
7.9 本章小结 362
第8章 DirectDraw技术 363
8.1 DirectDraw概述 363
8.1.1 DirectX技术 363
8.1.2 DirectDraw简述 364
8.1.3 DirectDraw和组件对象模型 365
8.2 基本概念和术语 366
8.2.1 表面 366
8.2.2 位块传输Blt 367
8.2.3 全屏模式和窗口模式 367
8.2.4 DirectDraw对象 368
8.3 DirectDraw应用程序的步骤 369
8.3.1 创建DirectDraw对象 375
8.3.2 设置程序的工作模式 377
8.3.3 设置显示模式 377
8.3.4 创建可翻转的表面 386
8.3.5 在表面上绘制图形 387
8.3.6 翻转表面 388
8.3.7 释放DirectDraw对象 389
8.4 DirectDrawSurface接口 390
8.5 在DirectDraw中使用GDI 394
8.5.1 绘制多边形 394
8.5.2 显示位图 397
8.6 DirectDraw程序的调试 402
8.6.1 全屏模式给调试带来的困难 402
8.6.2 解决办法——远程调试 402
8.7 本章小结 404
第9章 多媒体 405
9.1 多媒体的概念 405
9.2 图形显示特殊效果 405
9.2.1 渐变图形 405
9.2.2 爆炸效果 409
9.2.3 窗口填充效果 412
9.2.4 淡入\淡出效果 418
9.3 制作动画 427
9.3.1 制作帧动画 427
9.3.2 制作精灵动画 429
9.4 文字的特殊效果 437
9.4.1 滚动字幕 437
9.4.2 卡拉OK字幕效果 439
9.5 TMediaPlayer控件及其应用 441
9.5.1 TMediaPlayer控件的属性 441
9.5.2 TMediaPlayer控件的方法 442
9.5.3 TMediaPlayer控件的响应事件 443
9.5.4 播放声音文件 443
9.5.5 播放视频文件 446
9.5.6 制作CD播放器 448
9.6 本章小结 451