Sell Back Your Copy
For a $35.50 Gift Card
Trade in
Have one to sell? Sell yours here
Windows Graphics Programming: Win32 GDI and DirectDraw (Hewlett-Packard Professional Books)
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Windows Graphics Programming: Win32 GDI and DirectDraw (Hewlett-Packard Professional Books) [Hardcover]

Feng Yuan (Author)
3.8 out of 5 stars  See all reviews (16 customer reviews)


Available from these sellers.


Sell Back Your Copy for $35.50
Whether you buy it used on Amazon for $46.04 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $35.50.
Used Price$46.04
Trade-in Price$35.50
Price after
Trade-in
$10.54

Book Description

Hewlett-Packard Professional Books December 22, 2000
To deliver high-performance Windows applications, developers need an in-depth understanding of the Win32 GDI and DirectDraw -- but until now, it's been virtually impossible to discover what's going on "behind" Microsoft's API calls. This book rips away the veil, giving experienced Windows programmers the information and techniques they need to maximize performance, efficiency, and reliability -- and to make the best use of Windows graphics APIs and the important new graphics features provided in Windows 2000. Readers will gain a clear, concrete understanding of how GDI and DirectDraw are implemented internally; their limitations, resource requirements, and performance impact; and keys to implementing features and troubleshooting problems. This book is filled with high quality, original, system-level tools, kernal mode drivers, sample programs, and generic C++ classes for Windows programming without MFC. Readers can find out how to build API spys and hooks, detect GDI resource leaks, build image processing software, and more. Part 1 goes behind the scenes to uncover the Windows system architecture and graphics system internal data structure, and provides techniques for spying on the components of the graphics system. Part 2 provides detailed coverage of the Win32 GDI and Direct Draw API, based on the solid foundation built in Part 1. It covers device context, coordinate space and transformation, pixels, lines, and curves, area fills, various types of bitmaps, image processing, fonts, text, enhanced metafiles, and printing.

Customers Who Bought This Item Also Bought


Editorial Reviews

From the Back Cover

The world's most complete guide to Windows graphics programming!

  • Win32 GDI and DirectDraw: Accurate, under the hood, and in depth
  • Beyond the API: Internals, restrictions, performance, and real-life problems
  • Complete: Pixel, lines, curves, filled area, bitmap, image processing, fonts, text, metafile, printing, and more
  • Up to date: Windows 2000 and Windows 98 graphics enhancements
  • CD-ROM: Exclusive and professional quality generic C++ classes, reusable functions, demonstration programs, kernel mode drivers, GDI exploration tools, and more!

Hewlett-Packard Professional Books

To deliver high-performance Windows applications, you need an in-depth understanding of the Win32 GDI and DirectDraw—but until now, it's been virtually impossible to discover what's going on "behind" Microsoft's API calls. This book rips away the veil, giving experienced Windows programmers all the information and techniques they need to maximize performance, efficiency, and reliability! You'll discover how to make the most of Microsoft's Windows graphics APIs—including the important new graphics capabilities built into Windows 2000. Coverage includes:

  • Uncovering the Windows system architecture and graphics system internal data structure
  • Building graphics API "spies" that show what's going on "under the hood"
  • Detecting GDI resource leaks and other powerful troubleshooting techniques
  • Expert techniques for working with the Win32 GDI and DirectDraw APIs
  • Device context, coordinate space and transformation, pixels, lines, curves, and area fills
  • Bitmaps, image processing, fonts, text, enhanced metafiles, printing, and more

Windows Graphics Programming delivers extensive code, practical techniques, and unprecedented insight—plus an exclusive CD-ROM containing original system-level tools, kernel mode drivers, sample code, and generic C++ classes for Windows graphics programming without MFC. If you want to build Windows graphics applications that deliver breakthrough performance and reliability, you'll find this book indispensable.

About the Author

FENG YUAN is a Software Design Engineer for Hewlett Packard in Vancouver, WA. He holds a Ph.D. in Software Engineering from Nanjing University. For the past four years, he has specialized in creating drivers for HP DeskJet printers—giving him a burning motivation and a unique opportunity to understand Windows graphics programming inside and out.


Product Details

  • Hardcover: 1280 pages
  • Publisher: Prentice Hall PTR (December 22, 2000)
  • Language: English
  • ISBN-10: 0130869856
  • ISBN-13: 978-0130869852
  • Product Dimensions: 9.6 x 7.4 x 2.4 inches
  • Shipping Weight: 5 pounds
  • Average Customer Review: 3.8 out of 5 stars  See all reviews (16 customer reviews)
  • Amazon Best Sellers Rank: #347,038 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

16 Reviews
5 star:
 (7)
4 star:
 (4)
3 star:
 (1)
2 star:
 (2)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
3.8 out of 5 stars (16 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

9 of 9 people found the following review helpful:
3.0 out of 5 stars Good book, but in chronic need of a editorial overhaul, April 5, 2001
This review is from: Windows Graphics Programming: Win32 GDI and DirectDraw (Hewlett-Packard Professional Books) (Hardcover)
This book, the most detailed on GDI written in the last few years, is a phenomenal repository of low-level detail regarding the GDI subsystem. It also has excellent chapters on many aspects of GDI, complementing the official documentation. However, it is poorly edited, with awkward syntax, wrong English usage, and often-confusing organization of material. It is also not clear what is gained by discussing GDI and DirectX together, when they seem to be distinct in APIs, Windows dlls, and conceptual underpinnings.

The first half of the book attempts to look 'under the hood'. Here is presented a curious and confusing mixture of GDI details, advanced spying tools and techniques, and accounts of spelunking experiences. None of this seems ordered in a logical manner - Pietrek, for example, saves the spelunking experiences to a chapter of its own, at the end of his book. Chapters have easy-to-follow analysis on the documented user-mode level, freely interspersed with unfamiliar and difficult discussions of the mostly undocumented Kernel-mode level. With no clear separation between the elementary and advanced material, it swings sharply from the pedantically clear, to the obscure unexplained. For example, after the excellent details of how to locate the GDI handle table, it merely tells you what the DC structure is, without telling you how it was deciphered. While we are given full details of API tracing in the conventional manner (a la Richter), with source code, we are only given the briefest abstract discussion of a new, unconventional API spying. In the latter case, there is a cursory mention that it is explored in unidentified 'quite a few magazine articles'.

All of this is further obfuscated with presentations of C++ wrapper classes, when what is really required is a clear discussion of the relevant WinAPI functions.

There is also quite a bit of repetition of material in different chapters (such as the structure of the GDI handle table), and some material is in strange places (such as the tool for tracking all GDI handles in the system, grouped by handle type, which appears in the chapter "Pixels").

The second half of the book leaves the undocumented and low-level stuff, to discuss vanilla GDI programming. The information here is well presented, well organized, and clear. It covers drawing pixels, lines, bitmaps, image processing, palettes, fonts, raster operations, printing, and finally DirectDraw. Almost no use whatsoever is made of the extensive 'under the hood' information painstakingly gathered in the first half. What is missing in the reams of C++ classes presented here are some classes to process the standard image formats other than bitmaps i.e. JPEGs, GIFs and PNGs. For JPEGs particularly, a good C++ class is sorely missing for all of us who have tried to read the cross-platform, cross-compiler, cross-eyed code distributed by the Independent JPEG Group.

The final chapter on DirectDraw is a great disappointment. DirectDraw is simply too large a subject for a single chapter, and such a chapter would only serve some purpose if it could impart an intuitive understanding of DirectDraw concepts, such as what a 'surface' is, and how it compares to a GDI device context. Instead we are treated once again to a series of C++ wrapper classes, the sort of stuff that more properly belongs on Yuan's Web site, than in this already-overweight book.

Regarding the tools on the CD - I could not start some of them from the Start menu. They (surprisingly) have an inconsistent GUI, and source code does not appear overly well commented. Even worse, the code makes extensive use of templates which obfuscate rather than illuminate the sample programs. Although 'proper' programmers are meant to be familiar with templates, many are not, and they have no place in a book that ostensibly is about GDI, rather than good programming practice. However, some of the tools are extremely useful and worth adding to your arsenal.

Although billed as covering Win9x as well as WinNT, there seems to be little more than a cursory mention of the 9x family. This is a shame, as although developers may justifiably detest the Win9x family, it accounts for the overwhelming majority of home computers, and a good GDI book should cover it in depth. In particular, I was looking for 'under the hood' information on Win9x, both the 32-bit GDI32.dll, and the 16-bit GDI.EXE, down to which most GDI calls thunk. Unless I was sleeping, I saw none of this in Yuan's book, and have to revert back to Pietrek's Secrets for this kind of information.

In summary, I think this is a superb book for detailed 'above the hood' GDI work. For those interested in GDI 'under the hood', there is excellent material, as well as good spelunking tools. However, I must say that I was quite disappointed with this book as a result of expectations raised too high by its claims, which end up obscuring the many good aspects of the book. It would gain from a rewrite, cutting out the chapter on DirectDraw, and correcting the worst of the faults that have crept in as a result of poor organization and editing.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 10 people found the following review helpful:
5.0 out of 5 stars i whish i can give it more than 5 starts, September 2, 2004
By 
This review is from: Windows Graphics Programming: Win32 GDI and DirectDraw (Hewlett-Packard Professional Books) (Hardcover)
This book is the best of the kind.
With 1000+ pages, this book is a very broad and deep interview of windows graphics system. This book is for advanced developers. It does not teach you hand by hand how to draw a text, how to draw a window..., instead, this book is for the person who want to know how Microsoft implemented the Win32 graphics system. This book includes many windows internals and undocumented stuff.
I want to say thanks and show respect to the author 'Feng Yuan', for his kindness to publish the knowledge.

Keep in mind this book was published in 2001, I whish there will be a 2nd version, which include the new changes in Windows XP, and include details of the OpenGL's connection with GRE. And about the new Longhorn graphics engine.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


10 of 12 people found the following review helpful:
4.0 out of 5 stars Great addition to your windows programming library, January 6, 2001
By 
Amazon Verified Purchase(What's this?)
This review is from: Windows Graphics Programming: Win32 GDI and DirectDraw (Hewlett-Packard Professional Books) (Hardcover)
Given Feng's history with writing printing drivers for HP it is pretty clear that the information in this book covers his experience with GDI internals. The code examples are all in C++ and the sample code and utilities would add nicely to a programmers sandbox. The book covers the basics of GDI and graphics programming and then delves into more advanced image processing (affine transformations, alpha blending, mask blitting, filtering, etc.) There is even more stuff here, but I don't have enough room to type it in. This is definitely a book to have if you are writing shrink wrapped UI intensive applications.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(11)
(7)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject