Deliver to Austria
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Windows Graphics Programming: Win 32 Gdi and Directdraw (Hewlett-Packard Professional Books)

3.7 3.7 out of 5 stars 19 ratings

A handbook for delivering high-performance Windows applications using Win32 GDI and Direct Draw. Completely demystifies the creation of Windows graphics. The CD-ROM contains system-level tools, kernel mode drivers, sample code, and C++ classes. System requirements: Windows 95+, CD-ROM drive. DLC: Computer graphics.

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

  • Publisher ‏ : ‎ Prentice Hall (January 1, 2000)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 1234 pages
  • ISBN-10 ‏ : ‎ 0130869856
  • ISBN-13 ‏ : ‎ 978-0130869852
  • Item Weight ‏ : ‎ 4.55 pounds
  • Dimensions ‏ : ‎ 7.5 x 2.5 x 9.75 inches
  • Customer Reviews:
    3.7 3.7 out of 5 stars 19 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Feng Yuan
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

3.7 out of 5 stars
19 global ratings

Top reviews from the United States

Reviewed in the United States on January 24, 2002
The book covers all aspects of GDI. The aspect I liked most is that it explains API function calls from a developer's perspective, highlighting bugs, discrepances or misunderstandings present in Microsoft GDI documentation. At the beginning it covers the internals of windows explaining how components are interconnected and showing the tools used to understand it.
I liked the coverage of Bitmaps (loading and saving to disk, filtering and alpha blending), the detailed explanation of routines we take for granted (like simple lines, regions or fonts)...
All the examples consist of a series of C++ reusable classes wrapping functionality
4 people found this helpful
Report
Reviewed in the United States on September 14, 2024
I read this book and it is not very well written. It didn't deliver a promised.
Reviewed in the United States on March 20, 2009
Received the book earlier than expected.
Also did'nt expect it to look like brand new since I bought it used.
Reviewed in the United States on November 16, 2001
This book did well to present Windows graphics programming, and since Windows is a GUI system you do not have to be doing Graphics application to buy this book. There are many cases where the author used some API which are not supported on Win9.x and you might have problems trying to run some of the samples on such systems. However, if you wish to study graphics programming under Windows, there is no better book. A lot of the samples are very practical and you can use them directly in your applications. Besides the author promptly answers all my questions anytime I run into trouble.
It is not perfect but you cannot do without it.
2 people found this helpful
Report
Reviewed in the United States on September 3, 2004
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.
7 people found this helpful
Report
Reviewed in the United States on August 14, 2001
This book has been a life saver. Packed full of great content not only about Graphics Programming, but some good style comments and hints. I found tons of great information on parsing NT spool files and printer driver development. The sample applications are worth the price of the book alone. The EMF viewer tool (with source code) which allows you to read emf and NT spl files, was a great help in understanding the format of the otherwise un-documented by Microsoft format. In addition, I found an inconsistency in the way the spl files were handled in NT vs. 2000 and emailed the author. To my surprise, he sent me updated source code within a couple of days! I would highly recommend this book for developers on all levels. The text is cleary stated and thourgh enough to cover even some of the smallest details.
7 people found this helpful
Report
Reviewed in the United States on November 4, 2002
I tested many code and contents of this book and discovered many misunderstandings and erros.
While reading and testing, I'd got doubtful of the reliability of this book.
This book provides many useful information, but don't swallow whatever this book says.
4 people found this helpful
Report
Reviewed in the United States on April 5, 2001
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.
12 people found this helpful
Report

Top reviews from other countries

Amazon Customer
5.0 out of 5 stars If you are getting deeper in to GDI or need ...
Reviewed in the United Kingdom on August 20, 2016
If you are getting deeper in to GDI or need a solid understanding of the foundation of modern graphics then this is the book for you. It is not a guide for dummies - you need to be prepared to roll up your sleeves and get stuck in. If you do it's a gold mine. As someone else said, this should become a modern reference classic. Thank you Feng.