Windows图形编程PDF电子书下载
- 电子书积分:21 积分如何计算积分?
- 作 者:(美)Feng Yuan著;英宇工作室译
- 出 版 社:北京:机械工业出版社
- 出版年份:2002
- ISBN:7111097785
- 页数:785 页
第1章 基本技术和知识 1
1.1 用C/C++进行基本的Windows编程 1
1.1.1 Hello world(版本1):启动浏览器 2
1.1.2 Hello World(版本2):直接绘制到桌面 3
1.1.3 Hello World(版本3):创建一个全屏窗口 4
1.1.4 Hello world(版本4):用DirectDraw画图 10
1.2 汇编语言 14
1.3.1 开发与测试系统 17
1.3 程序开发环境 17
1.3.2 编译器 18
1.3.3 Microsoft平台软件开发工具 20
1.3.4 Microsoft驱动程序开发工具 21
1.3.5 Microsoft开发网络库 22
1.4 Win32可执行文件格式 23
1.4.1 导入目录 26
1.4.2 导出目录 29
1.5 Microsoft Windows操作系统的体系结构 31
1.5.2 微内核 32
1.5.1 硬件抽象层 32
1.5.3 设备驱动程序 33
1.5.5 执行体 34
1.5.4 窗口管理和图形系统 34
1.5.6 系统服务:Windows本身的API 35
1.5.7 系统进程 36
1.5.9 环境子系统 37
1.5.8 服务 37
1.6.2 范例程序 38
1.6.1 其他参考文献 38
1.6 小结 38
2.1 Windows图形系统组件 40
第2章 Windows图形系统体系结构 40
2.1.2 Windows视频系统 42
2.1.1 多媒体 42
2.1.4 OpenGL 43
2.1.3 静态图像 43
2.1.7 内核模式驱动程序 44
2.1.6 OS内核模式组件 44
2.1.5 Windows媒体 44
2.2.1 从GDI32.DLL导出的函数 45
2.2 GDI体系结构 45
2.2.2 GDI函数分类 46
2.2.3 GDI系统服务调用 47
2.2.4 从Win32 GDI API到 GDI引擎系统服务调用 48
2.3.1 DirectX组件 49
2.3 DirectX体系结构 49
2.3.2 DirectDraw体系结构 51
2.4 打印体系结构 53
2.4.2 打印池系统服务进程 54
2.4.1 Win32打印池客户DLL 54
2.4.5 打印处理器 55
2.4.4 打印提供者 55
2.4.3 打印池路由器 55
2.4.7 打印池过程一瞥 57
2.4.6 语言监视器和端口监视器 57
2.5 图形引擎 58
2.5.1 图形引擎系统服务 59
2.5.2 图形绘制引擎 60
2.5.4 图元变换 62
2.5.3 图形引擎数据结构 62
2.6.2 显示驱动程序函数区域 63
2.6.1 视频端口驱动程序和视频微端口驱动程序 63
2.5.5 字体驱动程序 63
2.6 显示驱动程序 63
2.6.4 表面绘制调用、钩子和输出 64
2.6.3 显示驱动程序初始化 64
2.6.5 其他驱动程序特性 65
2.6.6 对DirectDraw/Direct3D显示驱动程序的支持 66
2.7 打印机驱动程序 67
2.7.2 打印机驱动程序图形DLL 68
2.7.1 微软打印机驱动程序框架结构 68
2.7.3 HTML打印机驱动程序 70
2.8.1 范例程序 76
2.8 小结 76
2.8.2 其他参考文献 77
3.1.2 封装和信息隐藏 78
3.1.1 类和对象 78
第3章 GDI/DirectDraw内部数据结构 78
3.1 句柄和面向对象的编程 78
3.1.3 指针与句柄 81
3.1.6 只有句柄是不够的 82
3.1.5 基于表格的映射 82
3.1.4 全等映射 82
3.2.1 对象句柄堆是不变的 83
3.2 解码GDI对象句柄 83
3.2.3 进程GDI句柄限制约为12000个 84
3.2.2 HGDIOBJ并不是指针 84
3.2.6 HGDIOBJ的部分内容是GDI对象类型 85
3.2.5 HGDIOBJ的部分内容为索引值 85
3.2.4 系统GDI句柄限制约为16384个 85
3.3 定位GDI对象句柄表 86
3.4 解码GDI对象句柄表 91
3.4.2 nCount是一个部分选择计数器 94
3.4.1 pKernel指向页面地 94
3.4.5 nType:内部对象类型 95
3.4.4 nUpper:再次检查句柄 95
3.4.3 nProcess使得GDI句柄绑定到进程 95
3.5.1 用户模式画刷数据:纯色画刷优化 96
3.5 GDI对象的用户模式数据结构 96
3.4.6 pUser指向用户模式数据结构 96
3.5.3 用户模式字体数据:宽度表 97
3.5.2 用户模式区域数据:正方形区域优化 97
3.5.4 用户模式设备上下文数据:存储设置信息 98
3.6 存取内核模式地址空间 101
3.7 WinDbg和GDI调试器扩展 107
3.8 GDI内核模式数据结构 116
3.8.2 GDI引擎中的GDI对象类型 117
3.8.1 GDI引擎中的GDI对象句柄表 117
3.8.3 GDI引擎中的设备上下文 118
3.8.4 GDI引擎 PDEV结构 122
3.8.5 GDI引擎表面 126
3.8.6 GDI引擎中的设备相关位图 127
3.8.8 GDI引擎中的画刷 129
3.8.7 GDI引擎中的DIB部分 129
3.8.9 GDI引擎中的画笔 130
3.8.10 GDI引擎中的调色板 131
3.8.11 GDI引擎中的区域 132
3.8.12 GDI引擎中的路径 135
3.8.13 GDI引擎中的字体 138
3.9 DirectDraw数据结构 144
3.8.14 GDI引擎中的其他GDI对象 144
3.10.1 其他参考文献 149
3.10 小结 149
3.10.2 范例程序 150
4.1 Win32 API调用窥视 151
第4章 Windows图形系统窥视 151
4.1.2 嵌入窥视DLL 152
4.1.1 做一个窥视程序 152
4.1.3 钩入API调用链 154
4.1.4 信息收集 155
4.1.5 数据转储 160
4.1.6 窥视控制程序 162
4.2.1 GDI API定义文件 165
4.2 Win32 GDI窥视 165
4.2.2 GDI数据解码器 166
4.2.3 完全API窥视 168
4.3.1 虚函数表 171
4.3 DirectDraw COM接口窥视 171
4.3.2 DirectDraw API定义 172
4.4 GDI系统调用窥视 173
4.3.3 虚函数表破解 173
4.5 DDI接口窥视 176
4.6.2 范例程序 180
4.6.1 其他参考文献 180
4.6 小结 180
5.1.1 帧缓冲区 182
5.1 现代视频显示卡 182
第5章 图形设备抽象 182
5.1.2 像素格式 184
5.1.3 双缓存、Z-缓存和纹理 187
5.1.5 显示设备和设置枚举 188
5.1.4 硬件加速 188
5.2 设备上下文 190
5.2.1 创建设备上下文 191
5.2.2 查询设备性能 192
5.2.3 设备上下文的属性 193
5.2.5 多窗口环境下的显示 197
5.2.4 与窗口关联的设备上下文 197
5.2.6 获取与窗口关联的设备上下文 199
5.2.9 专用设备上下文 201
5.2.8 类设备上下文 201
5.2.7 公用设备上下文 201
5.2.13 内存设备上下文 202
5.2.12 信息上下文 202
5.2.10 父设备上下文 202
5.2.11 其他设备上下文 202
5.2.14 元文件设备上下文 203
5.3 格式化设备上下文 204
5.4.1 工具栏类 206
5.4 样例程序:通用框架窗口 206
5.4.3 画布窗口类 207
5.4.2 状态窗口类 207
5.4.4 框架窗口类 208
5.4.5 测试程序 210
5.5.1 Windows更新区域 212
5.5 范例程序:绘图和设备上下文 212
5.5.2 WM_PAINT消息 213
5.5.3 可视化窗口绘图消息 214
5.6.2 范例程序 221
5.6.1 其他参考文献 221
5.6 小结 221
6.1 物理设备坐标空间 222
第6章 坐标空间和变换 222
6.2 设备坐标空间 223
6.3 页面坐标空间和映射模式 225
6.3.2 MM_ LOENGLlSH、MM_HIENGLISH映射模式 227
6.3.1 MM_TEXT映射模式 227
6.3.3 MM_LOMETRIC和 MM_HIMETRIC映射模式 228
6.3.5 MM_ISOTROPIC映射模式 229
6.3.4 MM_TWIPS映射模式 229
6.3.6 MM_ANISOTROPIC映射模式 230
6.3.7 窗口和视口原点 232
6.4 世界坐标空间 233
6.3.8 其他窗口和视口函数 233
6.4.1 affine变换 234
6.4.2 用于世界坐标变换的Win32 API 236
6.4.3 使用世界坐标变换 237
6.5 使用坐标空间 243
6.6 程序举例:滚屏和缩放 245
6.7.2 范例程序 250
6.7.1 其他参考文献 250
6.7 小结 250
7.1 GDI对象、句柄和句柄表 251
第7章 像素 251
7.1.2 GDI对象表 252
7.1.1 GDI对象存储 252
7.1.3 GDI对象句柄 253
7.1.4 GDI对象API 254
7.1.5 GDI对象泄漏检测 256
7.2.1 裁剪流水线 258
7.2 裁剪 258
7.2.2 简单区域 259
7.2.3 区域裁剪 260
7.2.4 元区域 262
7.2.5 设备上下文中的5个区域 263
7.2.6 可视化设备上下文区域 264
7.3 颜色 267
7.3.1 RGB颜色空间 268
7.3.2 HLS颜色空间 270
7.3.3 索引颜色和凋色板 275
7.3.4 高级知识 278
7.4 绘制像素 279
7.5 程序举例:Mandelbrot集 281
7.6 小结 282
7.6.2 范例程序 283
7.6.1 其他参考文献 283
8.1 元光栅操作 284
第8章 直线和曲线 284
8.3 画笔 287
8.2 背景模式与背景颜色 287
8.3.2 库存画笔 288
8.3.1 逻辑画笔对象 288
8.3.3 简单画笔 289
8.3.4 扩展画笔 291
8.3.5 查询逻辑画笔 295
8.3.6 GDI画笔对象的封装类 296
8.4 直线 298
8.5 Bezier曲线 302
8.5.1 PolyDraw函数 306
8.6 弧线 308
8.5.2 其他Bezier曲线的定义:通过所有的控制点 308
8.6.1 用角度来指定弧线:AngleArc 310
8.6.3 把弧线转换成Bezier曲线 311
8.6.2 使用内框架画笔来画弧线 311
8.7 路径 314
8.7.1 构造路径 315
8.7.2 查询路径数据 316
8.7.3 路径对象变换 319
8.7.4 使用路径画图 322
8.8 例子:用自己定义风格的线做图 324
8.7.5 把路径转换成区域 324
8.9 小结 327
8.9.2 范例程序 328
8.9.1 其他参考文献 328
9.1.2 库存画刷 329
9.1.1 逻辑画刷对象 329
第9章 区域 329
9.1 画刷 329
9.1.3 自定义画刷 330
9.1.4 系统颜色画刷 335
9.1.5 LOGBRUSH结构 336
9.2.1 作为数据结构的矩形 337
9.2 矩形 337
9.2.2 绘制矩形 338
9.2.3 边界线和控制点的绘制 340
9.3 椭圆、弦、饼状图以及圆角矩形 341
9.4 多边形 344
9.5 闭合路径 347
9.6 区域 349
9.6.1 创建区域对象 350
9.6.2 区域对象上的操作 352
9.6.3 使用区域绘图 360
9.7 渐变填充 361
9.7.1 矩形的渐变填充 362
9.7.2 用渐变填充创建3D按钮 364
9.8 实际中的区域填充 365
9.8.2 HLS颜色空间的可移植渐变填充 366
9.8.1 半透明填充 366
9.8.3 径向渐变填充 367
9.8.4 纹理和位图填充 368
9.9 小结 369
9.8.5 图案填充 369
9.9.2 范例程序 370
9.9.1 其他参考文献 370
10.1.1 BMP文件格式 371
10.1 设备无关的位图格式 371
第10章 位图基础 371
10.1.2 压缩设备无关位图 377
10.2 DIB类 378
10.1.3 分散的设备无关位图 378
10.3 显示DIB 386
10.3.3 目标矩形和拉伸模式 387
10.3.2 源矩形 387
10.3.1 StretchDIBits 387
10.3.5 光栅操作 388
10.3.4 颜色格式转换 388
10.3.7 SetDIBitsToDevice 389
10.3.6 StretchDIBits函数的例子 389
10.4 内存设备上下文 391
10.5.1 CreateBitmap 392
10.5 设备相关位图 392
10.5.3 DDB的GetObject调用 393
10.5.2 CreateBitmapIndirect 393
10.5.4 Creat Compatible Bitmap和Create Discardable Bitmap 394
10.5.5 CreateDIBitmap 395
10.5.7 在DIB和DDB间拷贝位图 396
10.5.6 LoadBitmap 396
10.6.1 显示DDB 400
10.6 使用DDB 400
10.5.8 存取原始的DDB像素阵列 400
10.6.2 在菜单中使用位图 406
10.6.3 用位图作为窗口背景 411
10.7 DIB段 415
10.7.1 CreateDIBSection 416
10.7.2 DIB段类 417
10.7.3 对DIB段调用GetObjectType/GetObject 418
10.7.4 GetDIBColorTable/SetDIBColorTable 419
10.7.5 使用DIB段:设备无关的绘制 420
10.7.6 使用DIB段:高分辨率绘制 422
10.8.1 其他参考文献 425
10.8 小结 425
10.8.2 范例程序 426
11.1.1 光栅操作的编码 427
11.1 三元光栅操作 427
第11章 高级位图图形学 427
11.1.2 三元光栅操作图表 429
11.1.3 常用的光栅操作 431
11.2 透明位图 441
11.2.1 平行四边形位块传送:PlgBlt 442
11.2.2 四元光栅操作:MaskBlt 448
11.2.3 颜色键控法:TransparentBlt 452
11.3.1 用几何图形作为屏蔽 456
11.3 不用屏蔽位图实现透明度 456
11.3.2 用裁剪作为屏蔽 457
11.3.3 预先生成图像 458
11.4 alpha混合 460
11.4.1 简单常量alpha混合 461
11.4.2 位图的淡入谈出 462
11.4.3 层叠窗口 463
11.4.4 alpha通道:AirBrush 464
11.4.5 模拟alpha混合 467
11.5.2 范例程序 469
11.5.1 其他参考文献 469
11.5 小结 469
12.1 通用像素存取 471
第12章 用Windows位图进行图像处理 471
12.2 位图affine变换 474
12.3 快速专用位图变换 476
12.4 位图颜色变换 478
12.4.2 gamma校正 481
12.4.1 将位图转换为灰度位图 481
12.5.1 通用像素变换类 483
12.5 位图像素变换 483
12.5.2 通用通道分离类 487
12.5.3 通道分高举例 489
12.5.4 直方图 490
12.6 位图空间过滤器 491
12.6.1 平滑过滤器和锐化过滤器 495
12.6.2 边缘检测和浮雕过滤器 496
12.6.3 变形过滤器 497
12.7 小结 498
12.7.2 范例程序 499
12.7.1 其他参考文献 499
13.1.1 显示设置 500
13.1 系统调色板 500
第13章 调色板 500
13.1.2 查询系统调色板 501
13.1.3 静态颜色 504
13.2 逻辑调色板 505
13.2.1 缺省调色板 506
13.2.2 半色调调色板 507
13.2.3 创建自定义调色板 508
13.3.1 WM_QUERYNEWPALETTE消息 509
13.3 调色板消息 509
13.3.3 WM_PALETTECHANGED消息 510
13.3.2 WM_PALETTEISCHANGING消息 510
13.3.4 测试程序 511
13.4 凋色板和位图 515
13.4.1 设备相关位图和调色板 515
13.4.2 设备无关的位图和调色板 518
13.4.3 DIB颜色表中的调色板索引 520
13.5 颜色的量化 522
13.4.4 DIB段和调色板 522
13.6 减少位图颜色深度 531
13.7.1 其他参考文献 537
13.7 小结 537
13.7.2 范例程序 538
14.1.1 字符集和代码页 539
14.1 什么是字体 539
第14章 字体 539
14.1.2 图元 543
14.1.3 字体 544
14.1.4 字体风格和字体族 545
14.2 位图字体 548
14.3 向量字体 552
14.4.1 TrueType字体文件格式 554
14.4 TrueType字体 554
14.4.2 字体头 556
14.4.4 字符到图元索引的映射 557
14.4.3 最大需求表 557
14.4.6 图元数据 560
14.4.5 位置索引 560
14.4.7 图元指令 567
14.4.8 水平规格(hhea和htmx表) 571
14.4.9 字距调整 573
14.4.10 OS/2和Windows规格 574
14.4.12 TrueType字体集 575
14.4.11 其他表 575
14.5.2 安装公用字体 576
14.5.1 字体资源文件 576
14.5 字体的安装和内嵌 576
14.5.5 字体的内嵌 577
14.5.4 从内存映像中安装字体 577
14.5.3 安装专用字体和Multiple MasterOpenType字体 577
14.6.1 其他参考文献 581
14.6 小结 581
14.5.6 系统字体列表 581
14.6.2 范例程序 582
15.1.1 微软印刷学术语 583
15.1 逻辑字体 583
第15章 文本 583
15.1.2 库存字体 584
15.1.3 创建逻辑字体 585
15.1.4 逻辑字体到物理字体映射 589
15.1.5 PANOSE字面匹配 590
15.2 查询逻辑字体 595
15.2.1 位图字体和矢量字体的度量 596
15.2.2 True/OpenType字体度量 598
15.2.4 字体度量的准确度 601
15.2.3 浏览LOGFDNT和字体度量 601
15.3.1 对齐文本 606
15.3 简单文本绘制 606
15.3.2 从右到左的布局与阅读方式 608
15.3.3 字符附加量和分割符附加量 610
15.3.4 字符宽度 612
15.4 高级文本绘制 615
15.4.2 字距调整 616
15.4.1 字符到图元的映射 616
15.4.3 布置字符 617
15.4.4 扩展的文本绘制 618
15.4.6 图元存取 622
15.4.5 Uniscribe 622
15.5.1 带制表符的文本绘制 629
15.5 格式化文本 629
15.5.2 简单段落格式化 630
15.5.3 设备无关的文本格式化 632
15.6.1 文本着色 635
15.6 文本特效 635
15.6.2 文本风格 637
5.6.3 文本几何特性 640
15.6.4 文本做位图 644
15.6.5 文本做曲线 649
15.6.6 文本做区域 655
15.7.2 范例程序 656
15.7.1 其他参考文献 656
15.7 小结 656
16.1.1 创建增强元文件 657
16.1 元文件基础 657
第16章 元文件 657
16.1.2 播放增强元文件 659
16.1.3 查询增强元文件 661
16.1.4 增强元文件变换 664
16.2.1 EMF记录 668
16.2 增强元文件内部结构 668
16.2.2 EMF记录类型分类 670
16.2.3 解码EMF记录 672
16.2.4 EMF中的简单GDI对象 673
16.2.5 EMF中的位图 674
16.2.6 EMF中的区域 675
16.2.8 EMF中的调色板 676
16.2.7 EMF中的路径 676
16.2.9 EMF中的坐标空间 677
16.2.10 EMF中的绘制命令 679
16.2.11 EMF设备无关性 680
16.3 枚举 EMF 681
16.3.1 用于EMF枚举的C++类 682
16.3.2 EMF回放中的慢动作 683
16.3.3 跟踪EMF回放过程 684
16.3.4 动态改变EMF 686
16.3.5 从EMF中派生EMF 687
16.4.1 EMF反编译器 690
16.4 EMF做编程工具 690
16.4.2 捕获EMF打印池文件 692
16.5 小结 693
16.5.2 范例程序 694
16.5.1 其他参考文献 694
17.1.1 打印进程 695
17.1 理解打印池程序 695
第17章 打印 695
17.1.2 打印机控制语言 696
17.1.3 直接打印到端口 698
17.1.4 通过打印池打印 700
17.1.5 EMF打印处理器 703
17.1.6 枚举打印机 704
17.1.8 设置打印机驱动程序 705
17.1.7 查询打印机 705
17.2.1 打印通用对话框 709
17.2 用GDI实现基本打印功能 709
17.2.2 创建打印机设备上下文 714
17.2.3 查询打印机设备上下文 715
17.2.4 打印任务的轮廓 716
17.3.1 统一逻辑坐标空间 719
17.3 打印设计 719
17.3.2 纸张模拟 721
17.3.3 多页、多列显示 722
17.3.4 多页打印 723
17.3.5 通用打印类 724
17.4.1 坐标空间单位 728
17.4 在打印机设备上下文中绘制 728
17.4.2 文本 729
17.4.4 JPEG图像打印 731
17.4.3 位图 731
17.5.2 范例程序 736
17.5.1 其他参考文献 736
17.5 小结 736
18.1.1 COM接口 737
18.1 组件对象模型 737
第18章 DirectDraw和 Direct3D立即模式 737
18.1.2 COM类 738
18.1.4 HRESULT 739
18.1.3 创建 COM对象 739
18.1.5 DirectX和 COM 740
18.2.1 IDirectDraw7接口 742
18.2 DirectDraw基础 742
18.2.2 IDirectDrawSurface7接口 744
18.2.3 在DirectDraw表面上绘制图形 747
18.2.4 颜色匹配 751
18.2.5 IDirectDrawClipper接口 752
18.2.6 简单 DirectDraw窗口 753
18.3 建立Direct图形库 755
18.3.1 像素绘制 756
18.3.2 直线绘制 758
18.3.3 区域填充 761
18.3.4 裁剪 762
18.3.5 后台表面 764
18.3.7 字体与文本 766
18.3.6 用彩色键控实现透明 766
18.3.8 这并不只是一个游戏 770
18.4 Direct3D立即模式 774
18.4.1 创建Direct3D立即模式环境 774
18.4.2 处理窗口大小变化 776
18.4.3 两步绘制 777
18.4.4 将Direct3D放在窗口中 778
18.4.5 纹理表面 779
18.4.6 Direct3D立即模式举例 781
18.5.1 其他参考文献 785
18.5.2 范例程序 785
18.5 小结 785
- 《糊涂国王摸月亮 立体图形的组合》(韩)高滋贤文 2016
- 《BBC人体如何工作》(英)爱丽丝.罗伯茨 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《掌控工作》邵文瀚著 2020
- 《社会工作专业英语》俞炎燊 2019
- 《中国共产党支部工作条例问答》张越编著 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《社会工作实习教育研究的反身性书写》权福军 2018
- 《抗战与军队政治工作》李富春等著 1938
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019