图书介绍

Windows图形编程PDF|Epub|txt|kindle电子书版本网盘下载

Windows图形编程
  • (美)Feng Yuan著;英宇工作室译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111097785
  • 出版时间:2002
  • 标注页数:785页
  • 文件大小:52MB
  • 文件页数:816页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Windows图形编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第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本身的API35

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 OpenGL43

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打印池客户DLL54

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 打印机驱动程序图形DLL68

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 嵌入窥视DLL152

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 API236

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对象API254

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 用角度来指定弧线:AngleArc310

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 显示DIB386

10.3.3 目标矩形和拉伸模式387

10.3.2 源矩形387

10.3.1 StretchDIBits387

10.3.5 光栅操作388

10.3.4 颜色格式转换388

10.3.7 SetDIBitsToDevice389

10.3.6 StretchDIBits函数的例子389

10.4 内存设备上下文391

10.5.1 CreateBitmap392

10.5 设备相关位图392

10.5.3 DDB的GetObject调用393

10.5.2 CreateBitmapIndirect393

10.5.4 Creat Compatible Bitmap和Create Discardable Bitmap394

10.5.5 CreateDIBitmap395

10.5.7 在DIB和DDB间拷贝位图396

10.5.6 LoadBitmap396

10.6.1 显示DDB400

10.6 使用DDB400

10.5.8 存取原始的DDB像素阵列400

10.6.2 在菜单中使用位图406

10.6.3 用位图作为窗口背景411

10.7 DIB段415

10.7.1 CreateDIBSection416

10.7.2 DIB段类417

10.7.3 对DIB段调用GetObjectType/GetObject418

10.7.4 GetDIBColorTable/SetDIBColorTable419

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 平行四边形位块传送:PlgBlt442

11.2.2 四元光栅操作:MaskBlt448

11.2.3 颜色键控法:TransparentBlt452

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通道:AirBrush464

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 Uniscribe622

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 枚举 EMF681

16.3.1 用于EMF枚举的C++类682

16.3.2 EMF回放中的慢动作683

16.3.3 跟踪EMF回放过程684

16.3.4 动态改变EMF686

16.3.5 从EMF中派生EMF687

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 HRESULT739

18.1.3 创建 COM对象739

18.1.5 DirectX和 COM740

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

热门推荐