袁锋 Windows图形编程

>>>  文章華國詩禮傳家—精彩書評選  >>> 簡體     傳統

本书详细介绍Windows图形系统,包括Win32 GDI和 DirectDraw API的技术细节:设备环境、坐标空间和变换、像素、填充区域、位图、图像处理、文字处理、元文件、打印处理等。本书内容翔实、例子丰富、分析透彻,是Windows编程人员的实用参考书。附带光盘包含书中实例、实用程序、相关信息等。

译者序
前言
第1章 基本技术和知识
第2章 Windows图形系统体系结构
第3章 GDI/DirectDraw内部数据结构
第4章 Windows图形系统窥视
第5章 图形设备抽象
第6章 坐标空间和变换
第7章 像素
第8章 直线和曲线
第9章 区域
第10章 位图基础
第11章 高级位图图形学
第12章 用Windows位图进行图像处理
第13章 调色板
第14章 字体
第15章 文本

  本书详细介绍Windows图形系统,包括Win32 GDI和 DirectDraw API的技术细节:设备环境、坐标空间和变换、像素、填充区域、位图、图像处理、文字处理、元文件、打印处理等。本书内容翔实、例子丰富、分析透彻,是Windows编程人员的实用参考书。附带光盘包含书中实例、实用程序、相关信息等。
  
  
 

目录

第1章 基本技术和知识
1. l 用 c/c++进行基本的 windows编程
1.1.1 hello world(版本 1):启动测览器
1. 1.2 hello world(版本 2):直接绘制到桌面
1. 1. 3 hello world(版本 3):创建一个全屏窗口
1. 1.4 hello world(版本4):用directdraw画图
1.2 汇编语言
l.3 程序开发环境
1.3.l 开发与测试系统
1. 3.2 编译器
l.3.3 microsoft平台软件开发工具
1.3.4 microsoft驱动程序开发工具
l. 3. 5 microsoft开发网络库
1. 4 win32可执行文件格式
1. 4. 1 导入目录
1.4.2 导出目录
1.5 microsoft windows操作系统的体系结构
1.5.l 硬件抽象层
1.5.2 微内核
1.5.3 设备驱动程序

译者序

   当我第一次接过这本书的英文版样书时,我就惊诧于这本书是一个中国人写的。
   本书作者 Feng Yuan是一位留美学者,软件工程学博士,毕业于南京大学。在过去的四年中,他在HP温哥华研究与开发实验室从事DeskJet打印机驱动程序的开发。本书正是在此基础上写作的,它凝结了作者多年实际开发的汗水。
   本书的内容覆盖了Windows的图形系统,从Win32API的表层到最底层的显示和打印机的驱动程序,特别集中在 Win32 GDI和 DirectX的 DirectDraw部分。它主要集中讨论了Windows NT4和Window 2000平台,还覆盖了如下一些内容:Windows图形系统的体系结构、GDI和Direct-Draw的数据结构、绘图设备、GDI对象、像素、直线和曲线、填充区域和位图、逻辑字体和文本格式化、元文件、打印和打印池、DirectDraw接口、GDI调试工具、EMF反编译器、图像绘制和3D效果。
   本书的最大特点是其实用性。它不仅讲述了这些内容,重要的是,它还给出了实际编程中用到的分析问题和解决问题的方法。本书是从实际工作中收集而来的,而不是利用其他参考文献中编辑而成的,并且它提供了许多可以直接重用的函数、C++类、示例程序源代码,这对于从事Windows图形编程工作的人员来说,如图形软件工程师,排版系统、中文办公软件的工程师,以及对Windows内幕感兴趣的程序员,大多数是可以直接使用的。本书是一本名副其实的Windows图形编程宝典。
   本书由英宇工作室的邓浩组织翻译,参加翻译的人员还有裘强、薛赛男、林碧森、欧阳宇、易重英、陆绍飞、牛韬、王安鹏、祁力、徐继伟、谢君英、刘舫、李超、阳爱军、朱翠莲。郭增元、杨青青、李娜。还有部分人员参与了录人和排版工作,他们是温春美,李明生。林江勇、武堂、王明举、郭茜茜。
   我们一直在尽力将本书翻译好,但由于时间仓促,加之译者水平有限,书中肯定会有不少疏漏,恳请读者指正。我们接收广大读者意见的邮箱为: yingu@263.net。
   2001年12月
  

前言

   一本关于Windows编程的新书,要想真正有价值,它应该是深人的、完整的、最新的、正确的、基于实践的和对读者有帮助的。
   一本深人的书应该从API的底层谈起,一直讲到API的设计原理、内部数据结构以及实现方法。它应该为你提供检查和探测工具。
   一本完整、最新的书,应该把注意力集中在迄今为止对Win32 API的最好实现--Windows 2000上(它将是微软将来的操作系统的基础),并覆盖它的所有新特性。
   一本正确的书,应该是对Win32 API功能进行实际探索,并验证所有细节后书写的。只阅读微软的开发文档显然是不够的,因为这些文档只是MAP的概要,并且有些不完全的。过时的甚至是模棱两可的信息。
   一本实用的、有用的书,对于程序员和软件工程师来说,不应该只描述API和提供一些简单例子,而应该解决现实世界的问题,提供可重用的生成模块,提供有用的工具,并鼓励读者写出很专业的程序。
   特别是,这种书一般都需要阐述Win32 GDI,或者Windows图形编程,它是所有Windows编程的基础生成部分。到目前为止,讲解最深的可能是 Matt Pietrek的书,它讨论了 Windows3.1GDI的内部工作原理。关于GDI最完整和最新的描述由微软的 MSDN库提供。 CharlesPetzold最有名的一本书《Programming Windows》,第五版,其中有一半的篇幅讲解 Windows 98GDI编程。
   但是因为所有的Windows编程中经常需要处理Windows GDI,所以,需要一本更深入、更完整、更新、更正确和更有用的书来讲解Windows GDI。这就是本书的写作目标。
   本书内容
   本书讲解如何用 Win32 GDI API进行图形编程,同时介绍了 DirectDraw和 Direct3D立即模式。它覆盖了在所有Win32平台上实现的共同特性,仅在Windows NT/2000下实现的纯32位特性,及在 Windows 2000和 Windows 98中增加的最新特性。例如,对 alpha混合、透明位传输、渐变填充。从右到左的阅读顺序、分层窗口、向打印机发送JPEG/PNG图像等都进行了详细讲解。
   本书是关于Windows编程的,并更深一步介绍这些东西是如何实现的,因此,使读者可以更高效、自信地使用 Win32 API。
   本书教你全面地、分析地阅读Win32文档,尽力理解 Win32 API设计和实现者的思路,并用逻辑推理和实验来完整理解Win32 API,甚至找出文档中遗漏的信息或错误的信息。
   本书教你如何使用编程工具来理解Win32API。更重要的是,本书示范了如何建立你自己的工具,经常使用核心硬件级的系统编程技术,并设计一些有趣的实验对Win32 API的没有文档记载的世界进行探索。开始的几章可以作为系统级Windows编程书,也可用于Windows编程的其他领域。
   本书教你创建可重用的生成块以方便实际使用。除了一些简单的测试和示例程序外,本书包含了大量的可重用函数、C++类、驱动程序、工具和重要程序,可用于产品级的 Windows程序。它开发了一个面向对象的 Windows编程C++类库,支持简单的窗口、SDI窗口、MDI窗口、对话框、工具栏、状态窗口、属性表、子类、通用对话柜等等。它提供一些类,处理DIB/DDB/DIB段、EMF绘制、图像处理、颜色量化、错误扩散半色调,JPEG图像解码/编码、字体文件解码、字体嵌人、PANOSE字体匹配、图元绘制、3D文本、设备无关的多重页面布局、DirectDraw封装、 Direct3D IM封装等。
   本书的代码不依赖于 Microsoft FoundationClass,或者任何的第三方类库,可用于任何C++程序。所有这些类命名为以K打头,因此你可以很容易地将他们与MFC、ATL、OWL或者你自己的类库混合使用。
   本书组织结构
   本书覆盖了Windows图形编程的三个层次:实现层、API层和应用层。
   实现层覆盖了 Win32 GDI API和 DirectX COM接口背后的内容,它是 Window图形引擎和Win32子系统客户DLL没有文档记载的领域。第2、3、4章覆盖了实现层的所有内容,为理解API层建立一个坚固的基础。
   API层提供了 Win32 GDI API、 DirectDraw以及一些 Direct3D IM的精辟的、准确的、一步一步的描述。应用层建立在 API层之上,用于解决现实领域的问题、实现可重用函数、C++类和重要程序。API层和应用层根据一些主题一起讨论。一般说来,一章的开始部分覆盖API层,接着转移至与现实应用相关的程序。对于讲述更复杂的主题(如位图),用一章覆盖基本的主题,两章覆盖更高级的应用。
   第1章"基本技术和知识",回顾了基本的Windows编程技术,这些在本书的后面将是有用的。它包括基本的Windows编程、Intel汇编语言、程序开发环境、Win32可执行文件格式以及Windows操作系统的体系结构。我最喜欢的部分是API"钩子",它通过重写Win32模块的导入/导出目录来实现。
   第2章"Window图形系统体系结构"从整体上浏览了Windows图形系统,从Win32子系统DLL一直到图形设备驱动程序。它讲述了Windows图形系统组件、GDI体系结构、DirectX体系结构、打印子系统体系结构、图形引擎、显示驱动程序和打印机驱动程序。我最喜欢的部分是对系统服务调用的描述,它在用户模式GDI实现代码和核心模式图形引擎之间架起了一座桥梁,列出没有文档记载的系统服务调用(从GDI32.DLL、USER32.DLL、NTDLL.DLL和WIN32K.SYS)的工具和一个简单的打印机驱动程序,它能生成带嵌入位图的HTML页面。

 


网载 2013-07-04 14:50:14

[新一篇] 《點石成金》筆記

[舊一篇] 《代碼整潔之道》(Clean Code)
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表