前言 1
第1章 图像 1
1.1 IMAGEOBJECT类库 1
译者序 1
1.1.1 图像文件格式 2
1.1.2 IMAGEVIEW演示 3
1.2 CIMAGEOBJECT类库函数调用 5
1.3 IMAGEVIEW剖析 10
1.3.1 打开文件 10
1.3.2 保存文件 11
1.3.3 绘制图像 12
1.5.1 练习一:载入并显示一幅图像 14
1.4 载入和显示图像概括 14
1.5 创建使用图像和程序 14
1.5.2 练习二:载入四幅图像 16
1.5.3 练习三:在多个视图窗口中载入图像 19
1.5.4 练习四:倒置和翻转图像 22
1.5.5 练习五:剪裁和重置图像大小 26
1.6 在WEB上 29
1.6.1 Softel vdm 29
1.6.2 Lead Tools Pro6.0 for Windows 29
1.6.3 AccuSoft 30
1.7.2 LeadTools演示 31
1.7 共享软件和商业演示 31
1.7.1 ImageGear 31
1.8 继续前进 32
第2章 屏幕效果 33
2.1 SCREENEFFECTS类库 33
2.2 CSCREENEFFECTS灯库函数调用 35
2.3 SCREENEFFECTSDWMO剖析 37
2.3.1 绘制图像 37
2.3.2 暂停效果 40
2.3.3 启动屏幕效果 40
2.3.5 停止效果 41
2.3.4 启动背景效果 41
2.3.6 改变图像 42
2.3.7 定时器 42
2.4 屏幕效果概括 43
2.5 创建使用民屏幕效果的程序 44
2.5.1 练习一:一个简单的屏幕效果 44
2.5.2 练习二:在效果中使用颜色 47
2.5.3 练习三:使用一幅图像和一种颜色 49
2.5.4 练习四:多重屏幕效果 53
2.5.5 练习五:交互式屏幕效果 57
2.6 在WEB上 62
2.7 继续前进 64
3.1 IMAGEPOINTPROCESSES类库 65
第3章 图像点处理 65
3.2 CIMAGEPOINTPROCESSES 类库函数调用 67
3.3 IMAGEPOINTPROCESSES(IMA-GEVIEW)剖析 67
3.3.1 改变高度 69
3.3.2 着色 72
3.3.3 转换成为灰度图像 73
3.3.4 反转颜色 74
3.4 图像点处理概括 75
3.4.1 CHANGEBRJGHTNESS() 75
3.4.2 COLORIZE() 75
3.5 创建处理图像的程序 76
3.4.3 MAKEGRQAY() 76
3.4.4 REVERSECOLORS() 76
3.5.1 练习一:改变图像和亮度 77
3.5.2 练习二:同时变亮和变暗 80
3.5.3 练习三:颜色反转 83
3.5.4 练习四:给图像着色 86
3.5.5 练习五:转换为灰度图像 90
3.6 在WEB上 92
3.7 共享软件 94
3.8 继续前进 95
4.1 CIMAGEAREAPROCESSES类库 96
第4章 图像区域处理 96
4.2 CIMAGEAREAPROCESSES类库函数调用 99
4.3 AREAPOINTPROCESSDEMO(IMAGEVIEW)剖析 101
4.3.1 改变对比度 101
4.3.2 轮廓强化 104
4.3.3 均衡调节对比度 105
4.3.4 高通滤波 107
4.3.5 低通滤波 108
4.3.6 中通滤波 109
4.4 区域图像处理概括 110
4.4.3 MEDIANFILITER() 111
4.4.2 EQUALIZECONTRAST() 111
4.4.1 CHANGECONTRAST() 111
4.4.4 LOWPASSFILTER() 112
4.4.5 HIGHPASSFILTER() 112
4.4.6 EDGEEBGABCE() 112
4.5 创建使用区域图像处理的程序 113
4.5.1 练习一:对图像进行中值滤波 113
4.5.2 练习二:对图像进行高通滤波 117
4.5.3 练习三:对图像进行低通滤波 121
4.5.4 练习四:均衡高节图像的对比度? 124
4.5.5 练习五:强化图像的轮廓 128
4.6 在WEB上 132
4.8 继续前进 134
4.7 共享软件 134
第5章 闪屏效果 135
5.1 CSPLASHSCREEN类库 135
5.2 SPLASHDEMO 135
5.3 CSPLASHSCREEN类库函数调用 135
5.4 SPLASHDEMO剖析 138
5.4.1 SPLASHDEMO. CPP 138
5.4.2 SPLASHDEMO.H 142
5.5 显示闪屏效果的简要说明 143
5.6 创建使用闪屏效果的程序 144
5.6.1 练习一:创建一个有简单闪屏效果的应用程序 145
5.6.2 练习二:创建一个有多幅图片闪屏效果的应用程序 146
5.6.3 练习三:创建一个使用图像处理技术的应用程序,使闪屏图像模糊 148
5.7 在WEB上 150
5.7.1 Nordensson Lynn Advertising 150
5.7.2 Install Shield 151
5.7.3 Lorrex Inc. 151
5.8 继续前进 152
第6章 获取TWAIN数据 153
6.1 TWAIN——它到底是什么 153
6.2 TWAIN的组成 154
6.3 使用TWAIN的优点 154
6.4 如何获得支持 155
6.3.3 是终用户的受举益 155
6.3.1 应用程序开发商的受益 155
6.3.2 图像源开发商的受益 155
6.4.1 如何获得关于TWAIN的资料 156
6.4.2 如何订购工具包 156
6.5 TWAIN类库 156
6.6 TWAINDEMO 156
6.7 CSCANNER类库函数调用 159
6.8 TWAINDEMO剖析 160
6.8.1 CMAINFRAME类 161
6.8.2 允许用户选择操作 161
6.8.3 创建一个新文档 161
6.8.4 保存文件 162
6.8.5 视图类的构造函数 163
6.8.6 视图类的析构函数 163
6.8.7 绘制所获取的图像 163
6.8.8 在获取焦点时设置调色板 165
6.8.9 保存图像 165
6.9 获取TWAIN图像概括 166
6.10 创建获取TWAIN数据的程序 166
6.10.1 练习一:获取图像并保存到磁盘文件上 167
6.10.2 练习二:显示所获取的图像 169
6.10.3 练习三:获取多幅图像 171
6.11.1 TWAIN开发人员文件 173
6.11 在WEB上 173
6.11.2 TWAIN教程 174
6.12 共享软件和商业演示 175
6.13 继续前进 175
第7章 区域图 176
7.1 RGNMAPLIB类库 176
7.1.1 NCSA数据文件格式 176
7.1.2 注释文件格式 178
7.1.3 MAKEMAP程序 181
7.2 REGIONMAP演示 184
7.4 REGIONMAP剖析 187
7.3 RGNMAPLIB类库函数调用 187
7.4.1 创建和载入对象 188
7.4.2 删除对象 188
7.4.3 绘制区域 189
7.4.4 检测鼠标位置 189
7.4.5 鼠标键单击 189
7.4.6 与CRGNMAP类进行交互 190
7.4.7 放大区域图 190
7.4.8 载入图像 192
7.5 总结如何载入和显示区域图 193
7.6 创建使用区域位图的程序 195
7.6.1 练习一:使用非洲地图 195
7.6.2 练习二:创建蝗虫区域图 199
7.7 共享软件和商业演示 202
7.8 继续前进 203
第8章 动画 204
8.1 ANIMATION类库 204
8.2 CANIMATION类库函数调用 206
8.3 动画类中使用的BLIT操作 208
8.3.1 替换BLIT说明 209
8.3.2 XOR BLIT说明 210
8.3.3 子图形BLIT说明 213
8.4.1 启动定时器 215
8.4.2 实现定时器代码 215
8.4 ANIMATIONDEMO剖析 215
8.4.3 创建动画 216
8.4.4 重绘动画 218
8.4.5 保持动画 219
8.4.6 设置焦点 219
8.5 总结如何使用动画 219
8.6 创建使用动画的程序 220
8.6.1 练习一:创建静态动画 220
8.6.2 练习二:创建一个四帧静态动画 223
8.6.3 练习三:创建XOR动画 226
8.6.4 练习四:创建子图形动画 230
8.7 在WEB上 233
8.7.1 3D动画 233
8.7.2 有关动画的图书 234
8.8 共享软件和商业演示 235
8.9 继续前进 236
第9章 视频 237
9.1 WINDOWS视频 237
9.2 VIDEO类库 237
9.3 VIDEOPLAYER演示 238
9.4 播放AVI文件 239
9.4.1 播放CANIMATECTRL 239
9.4.2 媒体控制接口(MCI) 239
9.5 CVIDEO类库函数调用 241
9.6.1 打开文件 244
9.6 VIDEOPLAYER剖析 244
9.6.2 成员函数 245
9.6.3 播放选项 246
9.7 创建使用视频的程序 248
9.7.1 练习一:播放一个AVIYYWR 248
9.7.2 练习二:“ABOUT”对话框中的视频 250
9.8 在WEB上 251
9.8.1 CineWbe 251
9.8.2 Lenel 253
9.8.3 Metagraphics 253
9.8.4 Hyperionics 253
9.9.3 WinHelp 254
9.9.2 AviLxp 254
9.8.5 视频和动画工具 254
9.9.1 AVI Constructor 254
9.9 共享软件和商业演示 254
9.10 继续前进 255
第10章 在应用程序中使用类库 256
10.1 打印图像 256
10.1.1 练习一:在打印机上打印简单文本 256
10.1.2 练习二:载入、显示和打印图像 257
10.1.3 练习三:放大图像 259
10.1.4 练习四:使放大的图像居中 260
10.1.5 练习五:载入、显示和打印多幅图像 261
10.2 将图像作为应用程序的背景 263
10.2.1 练习六:使用图像作为视图窗口的背景 263
10.2.2 练习七:将图像平铺为窗口背景 266
10.3 从剪贴板中获得图像 268
10.4 在WEB上 271
10.4.1 VT ImageBase 271
10.4.2 Primate图片库 272
10.4.3 Garbo航空图片库 273
10.5 继续前进 273
11.1 MIDI是什么 274
11.2 MIDI类库 274
第11章 MIDI 274
11.2.1 MIDIPLAYER演示 275
11.2.2 答疑 276
11.3 用媒体控制接口播放MIDI文件 277
11.4 CMIDI类库函数调用 279
11.5 MIDIPLAYER剖析 282
11.5.1 MIDI基础 282
11.5.2 改变位置和播放速度 283
11.6 创建使用MIDI的程序 285
11.6.1 练习一:在背景中播放MIDI音乐 285
11.6.2 练习二:高级MIDI播放 287
11.7 在WEB上 290
11.7.1 Cakewalk 290
11.7.2 Voyetra Technologies 291
11.7.3 Mabry Sofrware 291
11.7.4 MidiWeb 291
11.7.5 Crescendo 291
11.7.6 WEB上 文件 292
11.8 共享软件和商业演示 292
11.8.1 Wind Chimes 292
11.8.2 MIDIART 292
11.8.3 MIDI Tool 292
11.9 继续前进 293
11.8.4 PCALL 293
第12章 声音 294
12.1 WAVE类库 294
12.2 WAVESTUDIO演示 294
12.3 CWAVE类库函数调用 295
12.4 播放WAV文件 297
12.4.1 PLAYSOUND ()函数 297
12.4.2 媒体控制接口 298
12.5 DIRECTWAVE类库 299
12.6 CDIRECTWAVE类库 299
12.7 WAVESTUDIO剖析 299
12.7.1 载入声音 300
12.7.2 播放、停止和关闭 301
12.7.3 录音和保存 301
12.8 创建使用声音的程序 302
12.8.1 练习一:播放声音文件 302
12.8.2 练习二:录音并保存 306
12.8.3 练习三:使用DIRECT-SOUND 309
12.9 在WEB上 312
12.9.1 Yahoo ! 312
12.9.2 Play Now 312
12.9.3 Diamond Ware, Lid 312
12.10.2 Speak 313
12.10.1 AWave 313
12.10 共享软件和商业演示 313
12.9.5 RST 3D 313
12.9.4 Cool Edit 313
12.10.3 Quack 315
12.11 继续前进 315
第13章 CD音频 316
13.1 CDAUDIO类库 316
13.2 CDAUDIOPLAYER演示 316
13.3 CCDAUDIO类库函数调用 318
13.4 CDAUDIOPLAYER剖析 322
13.4.1 CD音频基础 322
13.4.2 改变位置 324
13.4.3 CD信息 325
13.5 创建使用CD音频的程序 327
13.5.1 练习一:作为背景音乐而播放CD音频 327
13.5.2 练习二:获取CD音频信息 329
13.5.3 练习三:高级CD音频 331
13.6 在WEB上 335
13.6.1 Voyager CD Link 335
13.6.2 TegoSoft 335
13.6.3 CDRunner 335
13.7 共享软件和商业演示 336
13.8 继续前进 337
13.7.3 CD Worx 337
13.7.2 Multi Media Mixer 337
13.7.1 Pro Audio CD Player 337
第14章 调制解调器、网络和因特网通信 338
14.1 XMESSAGE类库简介 338
14.2 通信类型 339
14.2.1 串行通信 339
14.2.2 网络通信 340
14.2.3 因特网通信 340
14.3 CHECKERS演示 341
14.4 CMESSAGE类库函数调用 345
14.4.1 通过CMESSAGE调用CTALK 函数 347
14.4.2 在CMESSAGE、CTALK、CNETWORK和CINTERNER类中的专网通信设备项 349
14.4.3 因特网通信设备专用项 350
14.5 CHECKERS 剖析 350
14.5.1 初始化变量 350
14.5.2 程序终止前的清理工作 351
14.5.3 画出棋盘和棋子 351
14.5.4 检查鼠标是否选中方格 353
14.5.5 设置运动定时器 354
14.5.6 定时器代码中的内部事物处理命令 354
14.5.7 检查游戏是否结束 357
14.5.8 鼠标左键 357
14.5.9 鼠标右键 358
14.5.10 向远端机拨号 359
14.5.11 挂断 361
14.5.12 发送文本消息 361
14.5.13 等待命令 361
14.5.14 开始新游戏 362
14.5.15 退出游戏 363
14.6 将CHECKERS演示程序改为可在网络通信中使用的程序 363
14.6.1 从列表中选择用户 363
14.6.2 初始化网络DLL和解除初始化 364
14.6.3 从”USERLIST“文件中获取结点和地地址 364
14.6.4 向远端机拨号 365
14.7 将CHECKERS演示程序改为可在因特网通信中使用的程序 366
14.6.5 等待命令 366
14.7.1 确认IP地址 367
14.7.2 初始化网络DLL和解除初始化 367
14.7.3 向远端机拨号 367
14.7.4 等待命令 368
14.8 总结如何使用CMESSAGE类 369
14.8.1 创建和启动定时器 369
14.8.2 应答 369
14.8.3 拨号 369
14.9 创建和CMESSAGE库通信的程序 369
14.9.1 练习一:使用调制解调器连接两台计算机 369
14.9.2 练习二:使用NOVELL兼容网络连接两台计算机 372
14.9.3 练习三:通过因特网连接计算机 375
14.9.4 练习四:发送简单消息 377
14.9.5 练习五:从远端机上读取消息 381
14.10 在WEB上 383
14.11 继续前进 384
第15章 数据压缩 385
15.1 COMPRESSEDFILE类库 385
15.1.1 数据压缩演示 385
15.1.2 不同的数据压缩类型 387
15.2 COMPRESSEDFILE类库函数调用 388
15.3 COMPRESSOEMO剖析 390
15.3.1 打开文件 391
15.3.2 保存文件 393
15.4 压缩以及解压缩数据概括 394
15.4.1 读文件 394
15.4.2 写文件 395
15.5 创建使用数据压缩技术的程序 395
15.5.1 练习一:压缩文件 395
15.5.2 练习二:解压缩文件 397
15.5.3 练习三:将多个文件压缩为一具存档文件 400
15.5.4 练习四:解压缩档案文件 403
15.6 在WEB上 405
15.7 结论 407
附录A 关于所附光盘 408