第一章 VCL对图像处理的支持 1
1.1 图形对象概述 1
1.2 功能强大的TCanvas 2
1.2.1 TCanvas介绍 2
1.2.2 TCanvas的属性 2
1.2.3 TCanvas的方法 5
1.2.4 TCanvas的事件 9
1.3 Cananvas对象的属性 9
1.3.1 TPen对象 10
1.3.2 Tbrush对象 18
1.3.3 TFont对象 21
1.4 使用Canvas的方法绘图 22
1.4.1 画点 22
1.4.2 画线 22
1.4.3 画椭圆 23
1.4.4 绘制矩形 24
1.5 运行期间图形的打印输出——TPrinter对象 24
1.6 TShape组件 27
1.7.1 响应鼠标事件 31
1.7 Canvas的综合应用 31
1.7.2 建立快捷按钮 33
1.7.4 绘图功能的实现 35
第二章 图像处理 45
2.1 图像对象概述 45
2.2 TPicture对象 45
2.3 TGraphic对象 56
2.3.1 复制、装入和保存图像 57
2.3.2 剪贴板和粘贴剪贴板图像 59
2.4 TBitmap对象 62
2.4.1 建立TBitmap对象 67
2.4.2 平移图像 67
2.4.3 图像颠倒 72
2.4.4 渐变效果 74
2.4.5 柔化效果 77
2.4.6 锐化效果 79
2.5 TMetafile对象 81
2.5.1 建立TMctafile对象 82
2.5.3 利用TMetafile绘图 84
2.5.2 打开Mctafile 84
2.5.4 保存绘图结果 85
2.6 TImage对象 92
2.6.1 装入图像 93
2.6.2 在图像上绘图 94
2.7 图形转换 96
2.8 TPaintBox对象 101
3.1 TeeChart简介 107
3.2 使用TeeChart向导 107
第三章 TeeChart的使用 107
3.2.1 编辑Chart 110
3.2.2 编辑Series 115
3.3 操纵Series 119
3.3.1 Series的类型 119
3.3.2 处理Series 136
3.3.3 动态控制Series 147
3.4 处理Chart 166
3.4.1 在Chart上绘图 166
3.4.2 Chart的缩放与滚动 173
3.4.3 Chart的打印 179
第四章 Windows图像高级编程 182
4.1 Windows图像设备接口 182
4.1.1 设备上下文 182
4.1.2 GDI坐标系统和映像模式 189
4.2 GDI对象 193
4.2.1 对象之间的关系 193
4.2.2 位图对象 194
4.2.3 区域对象 195
4.3.1 系统调色板 196
4.3 处理颜色 196
4.3.2 逻辑调色板 197
4.3.3 使用逻辑调色板 197
4.4 使用字体 201
4.4.1 字符集 201
4.4.3 取得有关字体的信息 203
4.4.4 创建字体 203
4.5 位图资源 205
4.5.1 建立位图资源 205
4.5.2 从资源获得图像 206
5.1 制作动画 209
5.2 TAnimate的使用 212
5.3 Windows消息处理与特殊效果 213
5.3.1 拖动窗体 215
5.3.2 窗体三维效果 217
5.3.3 显示背景图像 220
5.3.4 屏幕图像的捕获 221
5.3.5 不规则形状窗体 223
5.4 屏幕保护程序 224
5.4.1 一个简单的屏幕保护程序 224
5.4.2 OpenGL屏幕保护程序 237
6.2 OpenGL的功能 245
第六章 用OpenGL作图 245
6.1 OpenGL概述 245
6.3 OpenGL的作图流程 246
6.3.1 OpenGL的操作分类 247
6.3.2 OpenGL库函数的组成 247
6.4 在C++Builder中利用OpenGL的一般过程 248
6.5 一个简单的实例 250
6.6 绘制几何体 253
6.6.1 图形的颜色 253
6.6.2 点、线、多边形的绘制 254
6.6.3 二次曲面的绘制 258
6.7 OpenGL中图形的变换 262
6.7.1 矩阵变换 262
6.7.2 取景变换 264
6.7.3 模型变换 264
6.7.4 投影变换 265
6.7.5 视见区变换 267
6.8 光照和材料 267
6.8.2 定义光源的特性 268
6.8.1 光照概念 268
6.8.3 定义材料属性 270
6.8.4 纹理操作 271
6.9 混合、反走样和雾化处理 285
6.9.1 混合 285
6.9.2 反走样 285
6.9.3 雾化处理 286
6.10 位图的处理和显示 286
7.1.2 DirectDraw是什么 290
7.1.1 在用DirectDraw之前 290
7.1 DirectDraw简介 290
第七章 用DirectDraw作图 290
7.1.3 为什么要用DirectDraw 291
7.2 基本概念和术语 292
7.2.1 显示模式 292
7.2.2 硬件加速 292
7.2.3 调色板 292
7.3.2 DirectDrawSurface对象 293
7.3.1 DirectDraw对象 293
7.3 DirectDraw的对象 293
7.2.4 窗口应用程序和全屏应用程序 293
7.4 C++Builder中用DirectDraw作图的一般过程 295
7.4.1 一个有关初始化的简单例子 295
7.4.2 用DirectDrawCreate创建一个DirectDraw对象 296
7.4.3 用SetCooperativeLevel转入排他模式 297
7.4.4 用SetDisplayMode设置显示模式 297
7.4.5 用CreateSurface创建一个主平面 297
7.4.6 用GetAttachSurface获取屏后平面的指针 298
7.6 调色板的显示 299
7.5 位图的显示 299
7.7 一个简单的动画例子 300
7.8 调试 307
第八章 多媒体和游戏编程 308
8.1 多媒体的一些概念 308
8.1.1 音频、MIDI音乐和数字化音乐 309
8.1.2 数字视频 309
8.2 MCI控制播放原理 309
8.2.1 MCI接口 309
8.2.3 MCI设备 311
8.2.2 播放时间位置控制 311
8.3 媒体播放机元件TMediaPlayer及其运用 312
8.3.1 TMediaPlayer元件的主要属性 312
8.3.2 TMediaPlayer元件的事件和方法 317
8.3.3 C++Builder中用MCI控制播放及其时间格式 320
8.3.4 MCI控制播放原理 320
8.4 程序背景音乐——MIDI的播放 320
8.5 媒体播放器的制作 324
8.6 游戏编程 331
8.7 游戏引擎的演示 338