Rating: Summary: A detailed explanation of GDI API Review: 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
Rating: Summary: Ok, but code is poorly designed Review: The book had some interesting topics, but a big part of a book like this is being able to experiment with the programs especially when it is based on yet another class library from the author. Several of the examples don't run or compile. Others link to versions of the SDK headers that are not present with the default installation for VC. The writing style is clean but the source code examples are not as interesting as they are advertised.
Rating: Summary: One book you will need for Windows programming... Review: 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.
Rating: Summary: Excellant coverage of even obscure areas. Review: 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.
Rating: Summary: Excellant coverage of even obscure areas. Review: 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.
Rating: Summary: i whish i can give it more than 5 starts Review: 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.
Rating: Summary: Good book, but in chronic need of a editorial overhaul Review: 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.
Rating: Summary: Best book on Windows GDI Review: This the most extensive, best explained Windows GDI book ever read by me! I hereby highly recommend this book to everyone who is doing GDI intensive work. Great job, Yuan!
Rating: Summary: Insightful Book And Very Helpful Author. Review: Unlike all of the Windows programming cookbooks, this book actually explains how Windows graphics works. Strewn throughout are interesting nuggets of information that can't be found anywhere else. Also, the author, Feng Yuan, is a regular on the GDI newsgroup, and is very helpful in answering people's questions. I had been grappling with the same problem for days. Out of frustation, I posted my problem to four different forums/newsgroups. He pointed me to an UNDOCUMENTED Win32 API function. He was the only one able to solve my problem.
Rating: Summary: Insightful Book And Very Helpful Author. Review: Unlike all of the Windows programming cookbooks, this book actually explains how Windows graphics works. Strewn throughout are interesting nuggets of information that can't be found anywhere else. Also, the author, Feng Yuan, is a regular on the GDI newsgroup, and is very helpful in answering people's questions. I had been grappling with the same problem for days. Out of frustation, I posted my problem to four different forums/newsgroups. He pointed me to an UNDOCUMENTED Win32 API function. He was the only one able to solve my problem.
|