《最新VESA SVGA图形图像编程秘技》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:李军等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:1999
  • ISBN:7810129023
  • 页数:409 页
图书介绍:

第一章 图形/图像编程高手必读 1

1.1 图形/图像编程语言的选择 1

1.2 提高C程序执行速度的13条秘诀 2

1.2.1 指针与数组 3

1.2.2 远指针与巨型指针 3

1.2.3 函数指针 3

1.2.4 高效率的语句 4

1.2.5 宏或内嵌码 5

1.2.6 循环优化 5

1.2.7 全局变量 6

1.2.8 查找表 6

1.2.12 其他方法(使用Switch和case语句) 7

1.2.11 避免浮点运算 7

1.2.10 嵌入汇编 7

1.2.9 汇编程序级上的优化 7

1.2.13 优秀的算法 8

1.3 优化C程序的长度和占用内存空间的8大要素 8

1.3.1 使用适当的编译器、编译模式和编译方式 9

1.3.2 改变堆和堆栈的大小 9

1.3.3 动态内存分配 9

1.3.4 使用函数的技巧 9

1.3.5 调用系统资源 10

1.3.6 建立自己的图形系统 11

1.3.7 变量与联合体 11

1.3.8 嵌入汇编 11

1.4 嵌入汇编高手速成 12

1.4.1 嵌入汇编的效率 12

1.4.3 嵌入80386/80387汇编指令 14

1.4.2 嵌入汇编的约定 14

1.4.4 嵌入汇编的特色 16

1.4.5 嵌入汇编的编译过程 16

1.4.6 嵌入汇编中的C变量 17

1.4.7 使用嵌入汇编最易犯的两个极其隐蔽、极其严重的错误 18

1.4.8 嵌入汇编的调试技巧 20

1.4.9 嵌入汇编的不足 20

1.4.10 实例:嵌入80386指令的扩展内存XMS模块 21

1.5 远指针的重定位 29

1.5.1 问题的提出 29

1.5.2 常用的方法 29

1.5.3 最简捷的算法 30

第二章 通用的图像数据格式与常见的图像格式 32

2.1 通用的图像数据格式 32

2.2 PCX文件格式 34

2.2.1 PCX文件格式简介 35

2.2.2 PCX文件的解压缩和读取 39

2.2.3 PCX文件的压缩存储 46

第三章 标准VGA及Super VGA概述 53

3.1 标准VGA 53

3.1.1 标准VGA的显示模式 53

3.1.2 标准VGA的结构 54

3.1.3 标准VGA的BIOS详解 56

3.1.4 标准VGA BIOS的数据区和环境表 68

3.1.5 标准VGA的寄存器 69

3.2 VBE简介 69

3.2.1 VBE的提出及发展现状 69

3.2.2 Super VGA的显示存储器 71

4.1.2 VBE功能00h:返回VBE信息 73

4.1.1 VBE功能的调用和返回值 73

第四章 VESA SVGA图形显示标准 73

4.1 最新VESA扩展BIOS-VBE 3.0详解 73

4.1.3 VBE功能01h:返回VBE特定模式信息 77

4.1.4 VBE功能02h:设置VESA VBE模式 83

4.1.5 VBE功能03h:获取当前VESA VBE模式 85

4.1.6 VBE功能04h:保存/恢复当前VESA状态 86

4.1.7 VBE功能05h:窗口页面控制功能 87

4.1.8 VBE功能06h:设置/获取逻辑扫描线长度 89

4.1.9 VBE功能07h:设置/获取显示开始位置 90

4.1.10 VBE功能08h:设置/获取DAC调色板格式 94

4.1.11 VBE功能09h:设置/获取一组DAC调色板 94

4.1.12 VBE功能0Ah:获取VESA VBE的保护模式接口 98

4.1.13 VBE功能0Bh:设置特定模式下的点时钟频率 99

4.2.2 扩充的VBE功能0:返回扩充VBE功能信息 100

4.2.1 扩充的VBE功能的调用参数 100

4.2 扩充的VBE功能 100

4.2.3 扩充的VBE功能的保护模式接口 101

4.2.4 扩充的VBE功能10H:扩展的能源管理(PM) 102

4.2.5 其他的扩充VBE功能简介 108

4.3 VBE的编程方法 111

4.3.1 测试显示卡对VBE标准的支持:VBETEST.C 111

4.3.2 VESA SVGA显示模式的设置 118

4.3.3 256色DAC调色板的设置与读取 120

4.3.4 退出VESA SVGA图形环境 122

第五章 基本的SVGA图形图像函数 123

5.1 一组基本函数和宏 123

5.1.1 一组基本函数 123

5.1.2 基本的宏 124

5.2 逻辑操作方式 125

5.3.1 256色模式下的读、写点函数 126

5.3 读写点函数 126

5.3.2 32K/64K高彩色模式下的读、写点函数 129

5.3.3 24位真彩色模式下的读、写点函数 132

5.3.4 32位真彩色模式下的读、写点函数 138

5.3.5 实例:在各种模式下画各种色棒 141

5.4 画线 143

5.4.1 步进法 143

5.4.2 Bresenham法 146

5.4.3 关于画线的讨论 147

5.4.4 画线速度的测试与比较 149

5.4.5 画色彩渐变图案 154

5.4.6 画矩形方框 155

5.5.1 Bresenham法 156

5.5 画圆 156

5.5.2 改进的Bresenham法 157

第六章 通用的超级SVGA图像块显示/保存与转换技术 159

6.1 TC/TC++ BC++BGI函数PUTIMAGE()/GETIMAGE()的不足 159

6.2 常见同类模块的不足 160

6.3 超级的PUTIMAGE()/GETIMAGE()函数 160

6.3.1 增加6条指令,存取超过64KB的图像块 160

6.3.2 分支预测 161

6.3.3 关于换页 161

6.3.4 关于逻辑功能 162

6.3.5 适用于所有模式的编程技巧 162

6.3.6 putimage()/getimage()函数源程序 163

6.3.7 运行速度的测试与比较 171

6.4 各种显示模式下图像块的相互转换 176

6.4.1 256色图像块转换成64K高彩色图像块 177

6.4.2 256色图像块转换成24位/32位真彩色图像块 179

6.4.3 64K高彩色图像块转换成24位/32位真彩色图像块 183

6.4.4 24位/32位真彩色图像块转换成16位高彩色图像块 185

6.4.5 24位真彩色图像块与32位真彩色图像块的相互转换 189

6.4.6 调用相应转换模块的技巧 191

6.4.7 各种模式下图像块相互转换实例 193

6.5 智能化的图像块保存、显示、转换技术 195

6.5.1 智能化的图像块保存函数getImage() 195

6.5.2 智能化的图像块显示函数putImage() 197

6.5.3 智能化的图像块转换函数convertImg() 197

6.5.4 智能化的图像块保存、显示、转换实例 201

7.1.1 为什么需要部分图像块显示函数 204

7.1.2 函数入口参数的选取与编写 204

7.1 多功能的部分图像块显示函数putpartimage() 204

第七章 SVGA图像特技显示/清屏技巧大曝光 204

7.1.3 智能化的部分图像块显示技术 210

7.1.4 实例 211

7.2 镜像:水平翻转图像 231

7.2.1 镜像显示的原理与putHRevimage()函数的编写 231

7.2.2 实例:双面人特技 234

7.3 以斜线段为单位显示/消隐图像 236

7.3.1 用逐步精化的方法设计罗盘特技 236

7.3.2 合嘴式与张嘴式特技 244

7.3.3 射线旋转式特技 246

7.3.4 斜向百叶窗显示与清屏 247

7.4 以圆为单位显示/消隐图像 249

7.4.1 看似容易的设计 249

7.4.2 巧妙方法实现putcircleimage()函数 250

7.4.3 实例 252

7.4.4 以曲线为单位显示/消隐图像 255

7.5 暗淡:将指定区域的图像变暗 258

第八章 超级的SVGA图像块无级缩放技术 260

8.1 模块入口参数的初步确定 260

8.2 程序设计基础 261

8.2.1 对超过64KB图像块的处理 261

8.2.2 SVGA支持 261

8.3 算法的核心思想 262

8.3.1 反向思维 262

8.3.2 巧妙避开浮点运算 262

8.4 算法的分析与改进策略 263

8.5 用80386 32位汇编指令优化 264

8.6 256色模式下的putimageinwin256()函数与实例 265

8.7 与同类无级缩放模块的测试比较 269

8.7.1运行速度测试 269

8.7.2 占用内存空间 271

8.7.3 生成的可执行文件的长度 271

8.7.4 显示质量 271

8.7.5 适用范围 271

8.8 与单纯显示模块的运行速度比较 272

8.9 适用于高彩色/真彩色模式下的图像块无级缩放技术 272

8.10 适用于所有显示模式的图像块无级缩放技术 278

8.11 智能化的图像块无级缩放技术 283

8.12 图像块无级缩放技术实例 284

第九章 256色DAC调色板的高级应用技巧 288

9.1 SVGA屏幕的淡出与淡入 288

9.1.1 SVGA屏幕的淡出 288

9.1.2 正确淡入SVGA屏幕的方法 289

9.1.3 淡入淡出SVGA屏幕的实例 290

9.2 SVGA DAC调色板的正确设置 291

9.2.1 不可忽视的显示器特性 291

9.2.2 正确高速的设置方法 291

9.3 转换到灰度图像 295

9.4 增减颜色分量与流动的调色板 298

9.4.1 增减颜色分量 298

9.4.2 流动的调色板 300

9.4.3 测试实例 301

9.5 同时进行的淡入、淡出 303

9.6 极速的同屏显示多幅256色图像技术 309

9.6.1 对现有技术的分析 309

9.6.2 同屏显示多幅256色图像的原理 310

9.6.3 使用查找表 311

9.6.4 其他加速方法 312

9.6.5 实例:比现有模块快一两个数量级的速度 316

9.7 高彩色、真彩色图像块向256色图像块的转换 318

9.7.1 24位/32位真彩色图像块转换成256色图像块 318

9.7.2 64K高彩色图像块转换成256色图像块 323

9.7.3 高彩色、真彩色图像块向256色模式图像块的转换实例 325

第十章 通用的SVGA漫游与页面切换技术 328

10.1 漫游技术的引入及其发展 328

10.1.1 漫游技术的引入 328

10.1.2 漫游技术的现状及其局限性 328

10.2 通用的SVGA图形图像漫游技术 329

10.2.1 基于显示内存VRAM的漫游 329

10.2.2 利用扩展内存XMS漫游 335

10.3 SVGA多页面切换技术 338

10.2.3 利用硬盘临时文件漫游 338

10.3.1 实现SVGA多页面切换技术的一组基本函数 339

10.3.2 实例 340

10.4 深入应用:有效地防止屏幕截图 343

10.4.1 截图软件的原理及其发展 343

10.4.2 对付屏幕截图软件的新思路 345

第十一章 SVGA下英文/汉字和CHR矢量字体的显示 347

11.1 英文/汉字的显示与应用 347

11.1.1 英文、数字在SVGA下的显示 347

11.1.2 点阵汉字在SVGA下的显示 348

11.1.3 能自动识别英文/数字、汉字的字符串显示函数及其实例 350

11.1.4 将中英文字符串转换为图像块 352

11.2 Borland CHR矢量字库的读取及其实例 357

12.1.1 常见汉字立体动画制作软件的比较 360

12.1 汉字立体动画的制作 360

第十二章 动画的制作、编辑、播放与特技播放 360

12.1.2 用COOL 3D制作汉字立体动画 361

12.2 汉字立体动画的编辑 363

12.2.1 影视剪辑软件Premiere简介 363

12.2.2 使用Premiere编辑动画 363

12.3 FLI/FLC动画的播放 365

12.3.1 FLI/FLC文件的结构 365

12.3.2 FLI/FLC文件的播放与特技播放 373

第十三章 图像块的透明显示 382

13.1 简单图像块的透明显示技术 382

13.2 复杂图像块的透明显示技术 399

13.3 各种显示模式下透明显示的实例 400

附录A 关于源程序软盘 405

附录B 关于显示卡和显示器的Q A 406