当前位置:首页 > 工业技术
WINDOWS图形编程
WINDOWS图形编程

WINDOWS图形编程PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:(美)(J.桑切斯)Julio Sanchez,(美)(M.P.坎顿)Maria P.Canton著;罗骏等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2000
  • ISBN:7900625445
  • 页数:587 页
图书介绍:
《WINDOWS图形编程》目录
标签:图形 编程

第Ⅰ部分 WINDOWS API编程:使用新的工具 3

第1章 计算机图形学及其应用 3

1.1 图形语言 3

1.1.1 图像感知过程 4

1.1.2 形象思维 5

1.2 图形技术 6

1.2.1 主要图形硬件 6

1.2.2 存储式电子管显示器 7

1.2.3 矢量刷新显示器 7

1.2.4 光栅扫描显示器 8

1.2.8 分辨率 10

1.2.7 色彩 10

1.2.6 亮度和对比度 10

1.2.5 图像特性 10

1.2.9 纵横比 11

1.2.10 显示元素的存取 11

1.2.11 多路复用和分时操作 12

1.2.12 内存映像 12

1.3 人类因素 13

1.3.1 视觉器官 13

1.3.2 视觉调节 14

1.3.3 人眼的运动 14

1.3.4 滞留 14

1.3.5 敏锐度 15

1.3.6 视野 15

1.3.7 眼睛疲劳 15

1.3.9 组合与眼睛疲劳 16

1.3.8 催眠效应 16

1.3.10 美学元素 17

1.3.11 组合和图形美 17

1.3.12 平衡和重量 17

1.3.13 形状和形式 18

1.3.14 图形和背景 19

1.3.15 空间感和深度感 20

1.3.161 光线与色彩 22

1.3.17 字符 23

1.4 计算机图形学的应用 24

1.4.1 工程技术 24

1.4.2 艺术设计 25

1.4.3 商业数据可视化 26

1.4.6 人工生命 27

1.4.5 游戏和娱乐 27

1.4.4 模拟训练 27

1.4.7 虚拟现实 28

1.4.8 分形图案 28

1.5 本章小结 29

第2章 事件驱动编程 31

2.1 图形操作系统 31

2.1.1 演变 31

2.1.2 Windows的各种版本 32

2.1.3 基于文本的和基于图形的程序 34

2.1.4 图形服务 35

2.2 编程模型 35

2.3 事件驱动程序 36

2.3.1 事件管理器 36

2.3.3 事件类型 37

2.3.2 事件处理程序 37

2.3.4 系统事件 38

2.3.5 控件事件 38

2.3.6 程序事件 38

2.4 事件模型 38

2.5 Windows程序的文件结构 39

2.5.1 源文件 39

2.5.2 库文件 40

2.5.3 资源文件 40

2.5.4 生成文件 41

2.5.5 目标文件 42

2.5.6 可执行文件 43

2.6 动态链接 45

2.7 Windows编程的特征 46

2.7.1 命名约定 49

2.7.2 数值常量 51

2.7.3 窗口句柄 51

2.8 Windows程序中的可视元素 52

2.8.1 主窗口 53

2.8.2 控件 54

2.8.3 其他可视化组件 54

2.9 编程风格 55

2.9.1 文件头注释 55

2.9.2 断言符号表示法 56

2.10 编程模板 57

2.11 本章小结 60

第3章 API编程 62

3.1.1 用模板创建工程 63

3.1 预备步骤 63

3.1.2 剖析Windows程序 67

3.1.3 WinMain() 67

3.1.4 参数 68

3.1.5 数据变量 69

3.1.6 WNDCLASSEX结构 69

3.1.7 注册窗口类 74

3.1.8 创建窗口 74

3.1.9 显示窗口 78

3.1.10 消息循环 78

3.2 窗口过程 79

3.2.1 窗口过程参数 80

3.2.3 消息处理 81

3.2.2 窗口过程变量 81

3.2.4 WM_CREATE消息处理 82

3.2.5 WM_PAINT消息处理 82

3.2.6 WM_DESTROY消息处理 83

3.2.7 默认的窗口过程 83

3.3 创建WinHello程序 84

3.3.1 修改程序标题 85

3.3.2 在客户区显示文本 85

3.3.3 创建程序资源 86

3.3.4 创建图标位图 87

3.4 本章小结 92

第4章 应用程序支持服务 93

4.1 Windows中的文本显示 93

4.2 设备和设备上下文 94

4.2.1 显示上下文 95

4.2.2 显示上下文类型 96

4.2.3 窗口显示上下文 98

4.3 映像模式 98

4.3.1 屏幕坐标、客户区坐标和窗口坐标 99

4.3.2 视区和窗口 100

4.4 文本操作编程 101

4.4.1 字样和字体 102

4.4.2 文本格式化 103

4.4.3 段落格式化 106

4.4.4 DrawText()函数 110

4.5 文本图形 113

4.5.1 选择字体 114

4.5.2 利用文本进行绘制 119

4.6.1 输入焦点 121

4.6 键盘输入 121

4.6.2 键击处理 122

4.6.3 确定键的状态 124

4.6.4 字符代码处理 125

4.6.5 键盘演示程序 126

4.7 插入符号 131

4.7.1 插入符号处理 131

4.7.2 插入符号演示程序 132

4.8 本章小结 135

第5章 图形支持服务 137

5.1 鼠标编程 137

5.1.1 鼠标消息 138

5.1.2 指针位置 140

5.1.3 鼠标双击处理 141

5.1.5 光标 142

5.1.4 捕获鼠标 142

5.1.6 鼠标和光标的演示程序 145

5.2 窗口风格和控件 147

5.2.1 子窗口 148

5.2.2 子窗口演示程序 149

5.2.3 基本控件 152

5.2.4 与控件通信 156

5.2.5 控件演示程序 161

5.3 菜单 164

5.3.1 创建菜单 166

5.3.2 菜单项目处理 167

5.3.3 快捷键 168

5.3.4 弹出式菜单 170

5.4.1 模态和非模态 172

5.4 对话框 172

5.3.5 菜单演示程序 172

5.4.2 消息框 173

5.4.3 创建模态对话框 175

5.4.4 创建非模态对话框 177

5.4.5 通用对话框 180

5.4.6 对话框演示程序 183

5.5 通用控件 183

5.5.1 常用控件消息处理 185

5.5.2 工具栏和工具提示 186

5.5.3 创建工具栏 186

5.5.4 标准工具栏按钮 192

5.5.5 工具栏中的组合框 194

5.5.6 工具提示支持 195

5.6 本章小结 198

第Ⅱ部分 API图形 201

第6章 绘制像素、直线和曲线 201

6.1 在窗口中进行绘图 201

6.1.1 重绘责任 202

6.1.2 无效矩形 203

6.1.3 设计立即响应式屏幕更新 203

6.1.4 WM_PAINT消息截取 204

6.2 图形设备接口 207

6.2.1 设备上下文属性 207

6.2.2 DC Info演示程序 211

6.2.3 设备上下文中的颜色 214

6.3 图形对象和GDI属性 215

6.3.1 画笔 215

6.3.2 画刷 218

6.3.3 前景混合模式 219

6.3.4 背景模式 220

6.3.5 当前画笔位置 221

6.3.6 圆弧方向 221

6.4 绘制像素、直线和曲线 222

6.4.1 像素操作 223

6.4.2 使用LineTo()绘图 224

6.4.3 使用PolylineTo()绘图 224

6.4.4 使用Polyline()绘图 225

6.4.5 使用PolyPolyline()绘图 226

6.4.6 使用Arc()绘图 227

6.4.7 使用ArcTo()绘图 228

6.4.8 使用AngleArc()绘图 228

6.4.9 使用PolyBezier()绘图 230

6.4.10 使用PolyBezierTo()绘图 233

6.4.11 使用PolyDraw()绘图 234

6.4.12 像素和直线的演示程序 239

6.5 本章小结 240

第7章 封闭的区域、图形和路径 241

7.1 封闭图形和区域 242

7.1.1 画刷初始位置 242

7.1.2 对象选择宏 244

7.1.3 多边形填充模式 244

7.1.4 创建定制画刷 246

7.2 绘制封闭图形 247

7.2.1 使用Rectangle()绘图 248

7.2.2 使用RoundRect()函数绘图 249

7.2.3 使用Ellipse()绘图 250

7.2.4 使用Chord()绘图 251

7.2.5 使用Pie()绘图 252

7.2.6 使用Polygon()绘图 253

7.2.7 使用PolyPolygon()绘图 254

7.3 对矩形的操作 256

7.3.1 使用FillRect()绘图 256

7.3.2 使用FrameRect()绘图 258

7.3.3 使用DrawFocusRect()绘图 258

7.3.4 对矩形的辅助操作 259

7.3.5 更新Rectangle()函数 265

7.4 区域 265

7.4.1 创建区域 267

7.4.2 合并区域 269

7.4.3 填充区域并为区域着色 271

7.4.4 区域操作 272

7.4.5 获得区域数据 274

7.5 剪切操作 275

7.5.1 创建和修改剪切区域 276

7.5.2 获得剪切区域信息 279

7.6 路径 280

7.6.1 创建、删除和转化路径 282

7.6.2 路径渲染操作 283

7.6.3 路径处理 285

7.6.4 得到路径信息 287

7.7 填充图形演示程序 288

7.8 本章小结 289

8.1.1 位图 290

8.1 光栅和矢量图形 290

第8章 位图化图形 290

8.1.2 图像处理 292

8.1.3 Bitblt(位块传输)操作 292

8.2 Windows位图的创建 292

8.2.1 位图格式 293

8.2.2 位图结构 294

8.2.3 作为资源的位图 294

8.3 位图编程概述 295

8.3.1 创建内存设备上下文 295

8.3.2 选定位图 296

8.3.3 获得位图尺寸 296

8.3.4 对位图进行位块传输 297

8.3.5 开发位图显示函数 299

8.4.1 对单色位图的硬编码 300

8.4 位图操作 300

8.4.2 堆式内存中的位图 303

8.4.3 对空白位图的操作 308

8.4.4 创建DIB部分 310

8.4.5 创建图案画刷 315

8.5 位图变换 315

8.5.1 图案画刷传输 316

8.5.2 位图的拉伸和压缩 317

8.5.3 位图演示程序 320

8.6 本章小结 320

第Ⅲ部分 DirectDraw编程 323

第9章DirectDraw概念 323

9.1 游戏和Windows编程 323

9.2.1 获取和安装SDK 324

9.2 DirectX 6SDK 324

9.2.2 编译器支持 325

9.2.3 测试安装 325

9.2.4 DirectX的组件 326

9.2.5 DirectX和COM 327

9.3 DirectDraw概述 327

9.3.1 DirectDraw的特性 328

9.3.2 优点和缺点 328

9.4 DirectDraw的体系结构 329

9.4.1 DirectDraw接口 329

9.4.2 对象组成 329

9.4.3 硬件抽象层(HAL) 330

9.4.4 硬件仿真层(HEL) 331

9.4.5 组件关系 331

9.5.2 显示模式 332

9.5.1 协作等级 332

9.5 DirectDraw的基本概念 332

9.5.3 表面 333

9.5.4 调色板 335

9.5.5 剪切 336

9.6 配置DirectDraw 338

9.6.1 设置Developer Studio 338

9.6.2 创建DirectDraw对象 339

9.6.3 检索接口版本 340

9.6.4 设置协作等级 343

9.6.5 获得硬件性能 345

9.6.6 获得显示模式 354

9.7 DirectDraw的Info Demo工程 358

9.8 本章小结 360

10.1 DirectDraw WinMain()函数 361

第10章 访问视频内存 361

10.1.1 WinMain()主干 362

10.1.2 DirectDraw初始化 364

10.1.3 DD模板工程 371

10.2 直接访问式编程 372

10.2.1 内存映射式视频 372

10.2.2 以高彩(Hi-color)模式进行映射 373

10.2.3 真彩模式 374

10.2.4 锁定表面 375

10.2.5 读取锁定表面数据 376

10.3 用于直接访问的低级编码 378

10.3.1 _asm关键字 378

10.3.2 编码限制 379

10.3.3 汇编语言函数 380

10.4 开发直接访问式基本函数 381

10.4.1 像素地址计算 382

10.4.2 直接访问式锁定函数 382

10.4.3 直接访问式释放函数 383

10.4.4 直接访问式像素级函数 384

10.4.5 矩形填充函数 387

10.4.6 方框绘制函数 389

10.5 直接访问中的光栅操作 393

10.5.1 XOR动画 394

10.5.2 对位图进行“异或”操作(XOR) 395

10.6 DirectDraw访问演示工程 398

10.7 本章小结 398

11.1 重新讨论表面 399

第11章 渲染操作 399

11.1.1 表面操作 400

11.1.2 主表面和离屏表面 401

11.1.3 列举表面 402

11.1.4 丢失和恢复表面 405

11.1.5 表面练习 406

11.2 透明和颜色键 407

11.2.1 设置颜色键 409

11.2.2 颜色键支持 411

11.3 DirectDraw的位块传输 412

11.3.1 BltFast() 413

11.3.2 Blt() 414

11.3.3 Blt()与BltFast()的比较 417

11.4 位块传输时的变换 417

11.4.2 缩放 418

11.4.1 颜色填充 418

11.4.3 镜像 419

11.4.4 光栅操作 420

11.5 渲染Windows位图 420

11.5.1 载入位图 421

11.5.2 获取位图信息 424

11.5.3 将位图载入到表面 424

11.5.4 显示位图 426

11.6 DirectDraw窗口式应用程序 428

11.6.1 非独占模式的初始化 429

11.6.2 剪切主表面 431

11.7 在非独占模式DirectDraw中的渲染 434

11.7.1 通过剪切进行渲染 435

11.7.2 通过位块传输时修剪进行渲染 440

11.8 本章小结 443

第12章DirectDraw动画 444

12.1 动画基础 444

12.1.1 实时动画 445

12.1.2 图像表面撕裂 445

12.1.3 动画制作人员的困境 446

12.2 取得时控脉冲 447

12.2.1 时钟计数(Tick-counting)方法 447

12.2.2 系统定时器截取 449

12.3 子图形(Sprite)动画 450

12.3.1 三维子图形艺术 451

12.3.2 子图形的图像集 452

12.3.3 子图形渲染 453

12.4 交换 457

12.4.1 对交换表面进行初始化 459

12.4.2 交换操作 460

12.4.3 多缓冲 462

12.5 交换动画编程 464

12.5.1 背景动画 464

12.5.2 摇摄全景(panning)动画 465

12.5.3 缩放动画 467

12.5.4 子图形操作 469

12.6 动画性能调谐 474

12.6.1 最佳选项(best-option)处理 474

12.6.2 高分辨率定时器 478

12.6.3 不洁矩形(Dirty Rectangles) 480

12.6.4 动态颜色键 481

12.6.5 测量性能 484

12.7 本章小结 486

第Ⅳ部分 DirectX图形支持 489

第13章DirectX升级和安装 489

13.1 DirectX升级工具 489

13.1.1 DirectSetup组件 490

13.1.2 可重新分配的软件包 490

13.1.3 卸载DirectX驱动程序 491

13.2 使用DirectSetup 492

13.2.1 预备步骤 492

13.2.2 安装模式 493

13.3 DirectX安装的准备 493

13.3.1 获得SDK的版本 494

13.3.2 升级决策 496

13.4 安装DirectX 496

13.4.1 DirectXSetup()函数 497

13.4.2 正常安装 498

13.5 定制安装 500

13.5.1 创建回调函数 501

13.5.2 回调函数 501

13.5.3 消息截取编码 503

13.5.4 沉默安装 508

13.6 本章小结 509

第14章 独占模式应用程序中的输入 510

14.1 DirectInput组件 510

14.1.1 DirectInput的体系结构 511

14.1.2 DirectInput和Windows 511

14.1.3 DirectInput支持 512

14.2 DirectInput的准备 512

14.2.1 列举设备 513

14.2.2 创建设备 516

14.2.3 数据格式 517

14.2.4 协作等级 518

14.2.5 获取设备 520

14.3 得到并设置设备信息 522

14.3.1 SetProperty() 522

14.3.2 GetProperty() 524

14.3.3 设备属性结构 524

14.4 获得设备数据 528

14.4.1 输入数据类型 528

14.4.2 事件通告和轮询 531

14.5 对DirectInput进行实验 531

14.5.1 Diquick程序 532

14.6 本章小结 534

14.5.2 DI鼠标演示程序 534

第15章 多适配器和多显示器 535

15.1 多显示器环境下的图形 535

15.1.1 用户的看法 536

15.1.2 程序员的看法 536

15.2 Windows和DirectX支持 537

15.2.1 虚拟桌面 537

15.2.2 安装和设置多显示器 538

15.3 Windows 98的Multi-monitormnAPI 539

15.3.1 获得显示器的句柄 540

15.3.2 列举多显示器 541

15.3.3 获得显示器的信息 543

15.3.4 列举多显示设备 544

15.4.1 Multimon.h头文件 545

15.4 Windows 98中的多显示器编程 545

15.4.2 获得系统信息 546

15.4.3 控制视频输出 549

15.4.4 针对多显示器意识的编程 551

15.5 DirectX 6中的多显示器编程 552

15.5.1 在DirectX中列举多个设备 553

15.5.2 设备指定的DirectDraw对象 557

15.5.3 设置焦点和设备窗口 557

15.5.4 MM Sprite Demo工程程序 559

15.6 调试DirectDraw应用程序 559

15.7 本章小结 560

附录A Windows和DirectX结构 561

附录B 三目光栅操作代码 577

附录C 配套光盘内容 585

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