Quartz 2D Graphics for Mac OS X Developers
reviewed by Robert Pritchett
Author: R. Scott Thompson Addison-Wesley Booksite: http://www.awprofessional.com/title/0321336631 Released: January 30, 2006. Pages: 496 $50 USD, $67 CND, £35 GBP, 53€ EUR with CD. ISBN: 0321336631 Requirements: Mac OS X Tiger or later. A desire to be a Mac OS X Graphics Developer. Some knowledge of Carbon, Cocoa and Python required. Strengths: Provides information on doing graphics the "Apple way”. Weaknesses: None found. |
![]()
|
Quartz 2D Graphics for Mac OS X Developers by R. Scott Thompson is by all means a programmer’s book, with emphasis on Apples’ Core Graphics, Quartz 2D and Core Image technologies.
Frankly, I had difficulty getting through this book. It is at a level of “behind the scenes” I am not used to. The included CD that includes examples of both projects and source code from chapters, does help some. The book’s audience is more for those who are already somewhat experienced in either QuickDraw or Quartz and need to move on to Core Image graphics development. Quartz 2D replaces the QuickDraw API.
So what is inside? Lots of super-geeky stuff on CGContexts, drawing transformations, line art path-drawing and pixel data for creating images, text generation and special text effects, shadings, patterns and creating PDFs from drawings as well as import/export functions to offscreen apps.
I have much more respect now for all the magic that occurs between a Mac OS X screen and apps. This stuff is simply amazing and reveals some of how the magic is accomplished that delights the eye and enhances apps. In reading the book I also gained a greater appreciation for such things as ATSUI (Apple Type Services for Unicode Imaging) that works concurrently with Quartz 2D in the Cocoa Text system discussed at http://developer.apple.com/documentation/Carbon/Conceptual/ATSUI_Concepts/index.html and http://developer.apple.com/documentation/Cocoa/Conceptual/TextArchitecture/index.html.
The other interesting thing to me is how Apple gets PDFs into and out of Quartz 2D drawings.
There are 14 chapters on accessing Quartz 2D, moving from Q uickDraw to Quartz 2D and discussion of other graphics libraries like vImage and Java 2D, the Quartz 2D drawing model, context, transformations as matrices, line art and building paths, and improving performance, and drawing fills and strokes, drawing CGImages and performance issues, importing and exporting images, drawing with Core Image, drawing text, drawing offscreen, working in shading and patterns doing the PDF thing and adding hyperlinks to PDFs.
The book gets deep fast, but R. Scott Thompson does an excellent job making it interesting with his graphical language.