《GDI+高级编程》是清华大学出版社出版的一本图书,作者杨建昌。
基本介绍
- 书名GDI+高级编程
- 作者杨建昌
- ISBN9787302212942
- 页数543
- 出版社清华大学出版社
- 出版时间2010 年1月
- 开本16开
基本信息
ISBN9787302212942
出版日期2010 年1月
开本16开
页码543
版次1-1
内容简介
本书立足gdi+的巧妙运用,以製造实用的用户界面为目标来介绍gdi+图形库的各个部分和功能。本书共分为7章,每一章介绍了特定主题内容。全书主要内容包括gdi+的概念,以及层次结构,gdi+的一般基础性能套用——windows基础控制的製作,包括带有视觉样式和没有视觉样式的基础控制项;高级自定义创意控制项的一般流程和方法;gdi+对字型和文字的支持;gdi+在处理动画上的套用;分形和分形艺术的概念,以及分形在现实生活中的套用;数字图像处理的相关技术。
本书採用c#语言描述,面向对.net框架有一定认识并有一定编程经验的中高级读书。本书也可以作为对gdi+和c#感兴趣的在校师生的参考读物。
编辑推荐
《GDI+高级编程》是由清华大学出版社出版的。《GDI+高级编程》採用C#语言描述,面向对.NET框架有一定认识并有一定编程经验的中高级读书。《GDI+高级编程》也可以作为对GDI+和C#感兴趣的在校师生的参考读物。
目录
第1章 .NET Framework 2.0图形设备接口 1
1.1 GDI+Vs GDI、DirectX、OpenGL 1
1.2 Visual Studio 2005集成开发环境与Visual C# 3
1.3 System.Drawing.dll程式集 13
1.4 本章小结 14
第2章 Windows视觉样式和WinForm基础控制项 15
2.1 VisualStyles和ControlPaint类 15
2.1.1 视觉样式浏览器 16
2.1.2 ControlPaint类 31
2.1.3 Windows导航栏控制项 34
2.2 分层视窗 42
2.2.1 分层视窗的概念 42
2.2.2 CreateParams类 44
2.2.3 使用分层视窗 46
2.3 颜色空间和拾色器 52
2.3.1 颜色空间 52
2.3.2 色彩转换 64
2.3.3 拾色器 75
2.4 本章小结 150
第3章 GDI+与.NET创意控制项 152
3.1 不规则形状 152
3.1.1 Circle类 153
3.1.2 Circle类型转换器 159
3.1.3 高级衍生图形 163
3.1.4 WaitingCircle控制项 167
3.2 坐标系统与度量单位 175
3.2.1 坐标系统 176
3.2.2 萤幕坐标与工作区坐标 179
3.2.3 度量单位 180
3.2.4 Ruler控制项 183
3.3 矩阵变换 192
3.3.1 Matrix类 192
3.3.2 矩阵的仿射变换 194
3.3.3 全局变换和局部变换 199
3.3.4 Tuner控制项 204
3.4 设计时支持 211
3.4.1 设计时框架 211
3.4.2 最佳化属性格线编辑 214
3.4.3 设计器 220
3.4.4 设计器序列化 236
3.4.5 调试设计时代码 243
3.4.6 自定义窗体设计器 244
3.5 添加音效 262
3.5.1 播放声音 262
3.5.2 音乐播放器 264
3.5.3 控制系统音量 272
3.6 管理双倍快取 273
3.6.1 点阵图双快取 273
3.6.2 BufferedGraphics类 278
3.7 本章小结 280
第4章 字型、文本和列印 281
4.1 字型概述 281
4.1.1 基本概念 281
4.1.2 TrueType与OpenType字型 283
4.1.3 Microsoft ClearType技术 284
4.1.4 GDI+中的字型 287
4.2 绘製格式化文本 289
4.2.1 文本修整 289
4.2.2 文本简排 290
4.3 测量文字大小 295
4.3.1 字型规格和排版 295
4.3.2 精确测量文字大小 299
4.4 3D效果文本 301
4.4.1 阴影文本 301
4.4.2 拉伸文本 302
4.4.3 浮雕及雕刻 303
4.4.4 镜像文本 304
4.5 沿路径文字 305
4.5.1 中式圆形印章 305
4.5.2 按任意路径排版 309
4.6 列印 316
4.6.1 列印概述 316
4.6.2 列印设定与列印预览 319
4.6.3 处理页边距和多页 324
4.7 本章小结 328
第5章 动画 329
5.1 播放GIF动画 329
5.1.1 动态GIF图像 330
5.1.2 ImageAnimator类 333
5.2 幻灯片 335
5.2.1 淡入与淡出效果 339
5.2.2 溶解效果 341
5.2.3 收缩效果 343
5.2.4 分散效果 346
5.2.5 翻转效果 349
5.2.6 幻灯片控制器 354
5.3 萤幕保护程式 357
5.3.1 屏保概述 358
5.3.2 肥皂泡泡屏保 359
5.4 GDI+游戏 372
5.4.1 场景控制器 373
5.4.2 处理用户输入 381
5.4.3 人工智慧 384
5.5 本章小结 393
第6章 分形艺术 394
6.1 分形概述 394
6.1.1 分形和分形几何 395
6.1.2 分形艺术 398
6.1.3 分形模型 401
6.2 绘製分形图像 405
6.2.1 L-System及其套用 406
6.2.2 美妙的复动力系统 411
6.3 本章小结 424
第7章 图像处理 425
7.1 图像处理概述 425
7.1.1 常见图像格式 426
7.1.2 使用GDI+处理图像 430
7.1.3 处理图像Exif信息 435
7.2 图像预处理 444
7.2.1 单像素重新着色 445
7.2.2 直方图与直方图均衡 454
7.2.3 图像变换 462
7.3 邻域运算与卷积 478
7.4 色彩混合模式 483
7.4.1 伪混合模式 484
7.4.2 可交换对称模式 485
7.4.3 非对称模式 491
7.4.4 其他混合模式 498
7.5 特效虑镜 499
7.5.1 浮雕 500
7.5.2 霓虹 502
7.5.3 毛玻璃 504
7.5.4 柔和 506
7.5.5 素描 509
7.6 其他实用技术 511
7.6.1 图层与混合 511
7.6.2 仅操作选区 515
7.6.3 平滑与羽化选区 518
7.6.4 由Region重构GraphicsPath对象 522
7.7 本章小结 525
附录一 GDI+特性速查 526
附录二 .NET精简版提供的GDI+特性 538参考文献 544
序言
GDI+(Graphical Device Interface Plus)伴随着.NET诞生已经有好几年了。随着.NET框架的升级,GDI+的功能也越来越完善。作为Windows的显示子系统,它负责完成Windows窗体和控制项的绘製工作,是Windows XP以及Windows 2003等作业系统的用户界面层核心。与它的前身GDI图形系统相比,它引入了2D图形的反锯齿、渐变画刷、基数样条、浮点数坐标,以及Alpha混合支持,并支持多种图像格式等。,GDI+没有任何硬体加速,这在性能上造成了一些损失。,在某些场合仍然需要採用GDI与GDI+混合编程的模式以获得最优的性能。在编程模式上,GDI+基于非状态的图形对象的用法使程式设计师可以简单地以面向对象的编程方式去完成每一个绘图任务,而不必花费大量精力去关注各种句柄和设备上下文的状态,这样的好处是显而易见的。
在Windows Vista作业系统中,提供了一种全新的显示子系统——WPF。WPF提供了更加丰富和高效的多媒体套用。,GDI+作为当今Windows Forms应用程式的主流图形库仍然会在相当长的一段时间记忆体在。
GDI+图形库中包含了大量的类型、结构和枚举定义,本书没有逐一介绍每一个类,也没有介绍GDI+图形库中的每一个相关类型。本书立足GDI+的巧妙运用,以创建实用的、耐用的用户界面为例来介绍GDI+图形库的各个部分和功能。本书採用C#语言描述,不是面向.NET的初级学者的,而是面向对.NET框架有一定认识并有一定编程经验的中高级读者。,对GDI+和C#感兴趣的在校师生也可以选择阅读本书。
1.本书内容
本书共分为7章,每一章以特定主题为中心、以贯穿始末的程式案例为主线讲解相关知识点。每一章中都给出了大量的源程式清单。其中,大部分源程式都具有极强的实用性,可以直接套用于相关的项目中。出于对篇幅的考虑,在书中介绍相关的知识点时,只会罗列核心的代码清单,完整的源程式可以在随书附带的光碟上找到。全部的源程式都已经在Visual Studio 2005中编译通过,在Visual Studio 2008上通常也可以直接运行。
第1章 介绍GDI+的概念,以及层次结构,并介绍Visual Studio 2005集成开发环境的常用工具和操作,以及C#语言2.0版本所提供的一些新特性。介绍GDI+图形库的简单结构,并用一个小例子说明使用GDI+图形库进行绘图的简单过程。
第2章 介绍GDI+的一般基础性套用——Windows基础控制项的製作,包括带有视觉样式和没有视觉样式的基础控制项,介绍分层视窗的概念和套用,并给出利用分层视窗实现Alpha混合的异形视窗的简单封装。本章还用了比较大的篇幅来介绍有关颜色空间处理的知识,这可以用于增强GDI+比较弱的颜色支持。本章使用的GDI+技术包括线性渐变画刷、路径渐变画刷、路径、区域、剪辑和失效、自定义游标等。
第3章 介绍更加高级的自定义创意控制项的一般流程和方法。与第2章介绍的传统的Windows基础控制项相比,本章的内容更加新颖。利用本章介绍的知识,就可以使用GDI+完成高级自定义控制项的界面绘製和与用户互动的处理。然后介绍利用.NET框架实现控制项对RAD的支持,并简单介绍Visual Studio IDE的开放结构与创建自定义窗体设计器的步骤。,以创意控制项的製作为目标介绍控制项在用户互动时对音效的支持。本章涉及的内容较多,例如GDI+坐标系统、矩阵的仿射变换、双倍快取等以及相关的一些.NET技术。
第4章 介绍GDI+的另一个重要方面,即对字型、文本和列印的支持。介绍与字型相关的一些概念,以及当今常用的字型格式,例如TrueType、OpenType,以及字型渲染技术。然后介绍如何使用GDI+进行文本的格式化输出,包括文字修整和排版。接下来介绍如何绘製特效文本的技术是对文字进行精确的大小测量,以便对文字的绘製坐标进行精确的计算,是建立3D的特效文本和将文字沿路径排版的技术。在本章的介绍使用GDI+进行格式化列印的技术。
第5章 介绍GDI+在处理动画上的套用。本章将介绍一些可以有效减少使用GDI+处理动画过程中出现的闪烁现象的算法和技术,以及如何突破GDI+性能瓶颈。具体的内容分为播放GIF动态图像、幻灯片效果实现、萤幕保护程式以及游戏。在本章提供的源程式清单中,包含大量实用的、有趣的、新颖的算法和技术。
第6章 介绍分形和分形艺术的概念,以及分形在现实生活中的套用。由于分形的快速发展,以及广阔的套用前景,希望通过本章的介绍能将读者引入探索奇幻莫测的分形世界的艺术殿堂。在内容的安排上,简单介绍分形的概念和相关的理论,然后结合GDI+技术实现一个分形图像的生成模型,以及分形世界中最美轮美奂的复动力系统。
第7章 介绍数字图像处理的相关技术。本章中给出了大量的专业级数字图像处理套用。简单介绍GDI+提供的数字图像处理功能接口,以及其一般用法,并在此基础上结合Exif规范实现通过GDI+图形库对数码照片Exif信息的读取和写入。接下来介绍各种数字图像处理的原理和一般算法,例如图像的点运算,包括Gamma校正、亮度与对比度调节、色相与饱和度调节、ColorMatrix的使用以及图像的直方图与直方图均衡算法等,并介绍滤波和压缩中使用较多的更加高级的图像变换原理和算法实现,以及图像的邻域运算和卷积操作。然后系统性地介绍图像色彩混合中使用的各种混合模式,这对于多个图像的混合叠加是非常强大而有用的功能。介绍图像后期处理中使用的一些特效滤镜的算法原理和实现,并探讨数字图像处理系统中相关的一些基本技术,如用户选区的平滑与羽化等。