FREE Delivery in the UK.
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Programming with Quartz: ... has been added to your Basket
+ £2.80 UK delivery
Used: Good | Details
Condition: Used: Good
Comment: Buy with confidence. Excellent Customer Service & Return policy.Ships from USA. Please give between 2-5 week for delivery.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Programming with Quartz: 2D and PDF Graphics in Mac OS X (The Morgan Kaufmann Series in Computer Graphics) Paperback – 20 Dec 2005

5.0 out of 5 stars 1 customer review

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
£34.83 £13.54
Note: This item is eligible for click and collect. Details
Pick up your parcel at a time and place that suits you.
  • Choose from over 13,000 locations across the UK
  • Prime members get unlimited deliveries at no additional cost
How to order to an Amazon Pickup Location?
  1. Find your preferred location and add it to your address book
  2. Dispatch to this address when you check out
Learn more
£61.99 FREE Delivery in the UK. Only 2 left in stock (more on the way). Dispatched from and sold by Amazon. Gift-wrap available.
click to open popover

Special Offers and Product Promotions

Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone

To get the free app, enter your mobile phone number.

Product details

  • Paperback: 704 pages
  • Publisher: Morgan Kaufmann (20 Dec. 2005)
  • Language: English
  • ISBN-10: 0123694736
  • ISBN-13: 978-0123694737
  • Product Dimensions: 19.2 x 3 x 23.6 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 1,001,108 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description


"I strongly encourage non-Macintosh programmers to pick up this book and find out for themselves what a truly great development platform we have in the Macintosh. Programmers and software managers at Windows, Linux, and Unix shops should seriously consider the Macintosh as an addition to (or replacement for!) their current stable of platforms. In particular, movie studios, animation houses, and special-effects facilities would do well to consider that with Macintosh, a single platform can provide everything they need..."―from the foreword by Philip J. Schneider, R&D Engineer, Industrial Light + Magic

"Finally, the book I've wanted for years is here! As a graphics programmer, I appreciate the clear explanations of how Quartz has packaged the state of the art for mere mortals. As a Cocoa programmer, I appreciate the clear explanation of which facilities of Quartz Cocoa is already leveraging. This will become a well-thumbed resource for all graphics programmers on Mac OS X, whether or not they're using Cocoa, Carbon, or porting code from another platform."―Dr. Michael B. Johnson, Pixar Animation Studios

"I've been using Quartz since the first release of Mac OS X and this book covers it all! Great advice, good sample code―it's the book to have if you want to learn everything about Quartz."―Stephane Marcouiller, SDE, Microsoft Corporation

"Not only do the authors of Programming with Quartz have a superb understanding of their subject matter, but they have conveyed their knowledge in a clear, concise, and readable manner. Programming with Quartz has saved me quite a bit of time on my first major Quartz project, and its more general lessons on graphics programming techniques and concepts will prove valuable when using any modern graphics API."―Josh Aas, Software Engineer, Mozilla Corporation

"Even after implementing several features using Quartz, I still learned things from this book that I did not know. For example, the chapter on handling PDF images is very thorough in its descriptions and the issues it raises. I wish I had this chapter when I implemented this feature. The book is very well written and covers many complex topics in 2D graphics clearly and at a level appropriate for all programmers. Programming with Quartz continues Apple's tradition of producing excellent documentation for its developers."―Ron Ullmann, Macintosh Business Unit, Microsoft Corporation

About the Author

David Gelphman is a senior software engineer on Apple's Graphics and Imaging team. He has over 20 years of experience working with the PostScript and PDF imaging model that is at the heart of Quartz graphics. His computer career began with scientific computing while he was earning his PhD in experimental particle physics at Stanford. Apple's introduction of the Macintosh in 1984 caused him to make a sharp turn into the world of user-friendly computing and he hasn't looked back. While working at Adobe Systems, David co-designed Apple's LaserWriter 8 printer driver and was team lead of the development project. At Adobe he also worked closely with third party developers, taught PostScript programming, wrote a number of technical notes, and contributed to the evolution of the PostScript language. After leaving Adobe he continued to combine software engineering work with documentation for software developers, authoring an article for Apple's develop technical journal in addition to a number of Apple technical notes. Today David writes system software for Mac OS X but continues to be involved with third party documentation and enjoys writing sample code for developers outside of Apple.

Bunny Laden is a senior technical writer for Apple Computer who writes documentation for Mac OS X technologies, including Quartz, Core Image, and Quartz Composer. She has won technical writing awards for a number of Apple documents— QuickTime VR Authoring Studio, Handling Unicode Text With MLTE, Supporting Printing in Your Application―and for the book Learning Carbon (O'Reilly & Associates). In her former life as an academician, she authored articles on a number of topics including music cognition and musical acoustics.

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback Verified Purchase
This book is amongst the best programming books I've ever read.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Helpful Customer Reviews on (beta) 4.5 out of 5 stars 13 reviews
33 of 33 people found the following review helpful
5.0 out of 5 stars An amazing, in-depth guide to Quartz 2D 21 Jan. 2006
By David Hill - Published on
Format: Paperback
If you develop for Mac OS X and you do any 2D graphics programming in Quartz 2D or the Cocoa graphics APIs, you need this book. The table of contents isn't available here at the moment but (trust me on this) this book covers it ALL as far as Quartz 2D is concerned. The authors cover everything: basic Quartz 2D drawing (from Carbon, Cocoa, and Python!), the Quartz drawing model (coordinate systems, transforms, paths, color spaces, etc.), drawing images and text, plus drawing and inspecting PDF content. I'll hit a few highlights in my comments below.

Throughout the book, they've made it a point to cover which APIs are available in which versions of Mac OS X, a godsend if you're delivering apps that must support multiple OS versions but you'd still like to take advantage of the latest features when possible. Where the OS allows, they even explain how to emulate some of the new convenience APIs on older OSes.

Each chapter ends with an extensive list of references (sample code, headers, specifications, and more from Apple, Adobe, and others) to help you find further information, in case you need more detail on a particular topic.

For text drawing, an area in which Quartz 2D provides only a low-level API, the authors explain how to properly use the facilities available in the higher-level frameworks (Carbon and Cocoa).

For those of you coming from QuickDraw, there's a short section specifically targetted at replacing CopyBits (in addition to the chapters on image drawing and offscreen caching).

Near the end of the book, there's an invaluable chapter on how to optimize and debug your drawing code.

Finally, for those developers preparing universal binaries of your applications (all of you, I hope), the authors identify several issues (bitmap data format endian issues, etc.) that you'll need to watch out for and explain what to do about them.

A quick additional note: the publisher has the full Table of Contents as well as a sample chapter available for download at

Disclaimer: I spent 4 years in Apple's Developer Technical Support group supporting Quartz 2D and other topics. This book would have made my job *much* easier, perhaps even unnecessary.
16 of 16 people found the following review helpful
5.0 out of 5 stars Almost as good as Inside Mac 13 Feb. 2006
By David Polaschek - Published on
Format: Paperback
When I was learning to program the Macintosh in 1990, I turned to the Inside Macintosh series. At the time, you could pick up volumes I-III, read them cover to cover, and know everything you needed to get started programming the Macintosh. Today that's no longer possible for a number of reasons. Apple has discontinued the series, and just provides API references online. Plus any such multi-volume set covering everything you needed to know today would take up most of a bookshelf, rather than a few volumes. I think that's a shame since my favorite part of the books was always the discussion section -- the part that told you WHY you wanted to call various functions in a certain order.

Programming with Quartz is the discussion portions that would be in an Inside Macintosh: Quartz. It gives you the valuable concepts behind the APIs that help you write new and useful code right away, rather than spending time tweaking sample-code until you've learned your way around the APIs. It shortens the learning-curve.

My only complaint is that I wish this book had been around back in the Mac OS X 10.1 days. Even if you've already figured out Quartz this book is useful, but it would have helped significantly with the confusion many of us faced six years ago.
8 of 8 people found the following review helpful
5.0 out of 5 stars Best book for beginning Quartz programmers 19 April 2006
By calvinnme - Published on
Format: Paperback
Quartz 2D is the primary graphics library in Mac OS X and is based on version 1.4 of Adobe PDF. It supercedes QuickDraw, which was used in earlier versions of the Mac OS. In Quartz 2D the coordinate space is an abstract concept defined by real values in 2 dimensions. Points in this space can be connected to form paths, such as straight lines, Bezier curves and so on. To create actual graphics on the display, the paths are rasterized as needed to generate the pixels at the display device's resolution. This permits the same graphics commands to yield the same output on any device using the best resolution available.
This book is full of clear explanations for mere mortals of how Quartz has packaged the state of the art in graphics programming. The book starts out with Quartz 2D drawing basics such as drawing and filling basic geometric forms and drawing lines. With the basics out of the way, the author goes on to show how you would use Quartz 2D both in Cocoa and in Carbon. Next there are chapters on basic computer graphics intertwined with performing these tasks in Quartz. Included topics are coordinate systems, affine transformations, and parametric curves all within the framework of performing graphics in Quartz. The book then moves on to working with images including creating CGImage objects, and importing and exporting data to PNG, JPEG, and Quicktime formats. Another chapter is devoted to working with text. There are two chapters devoted to working with PDF data, including a chapter on handling PDF images that is very thorough in its descriptions and the issues that are raised. The book is very well written and covers many complex topics in 2D graphics clearly and at a level appropriate for all programmers, and I highly recommend it for all programmers interested in Quartz.
13 of 16 people found the following review helpful
5.0 out of 5 stars Quartz discussion mailing list is available 14 Jan. 2006
By DMG - Published on
Format: Paperback
As one of the authors of this book and based on the reviews so far, I thought it would be useful to mention that Apple Computer provides a mailing list to discuss Quartz technology, this book, and questions about the sample code that is part of this book. To sign up for the mailing list, please visit:

2 of 2 people found the following review helpful
5.0 out of 5 stars Resist the urge to dismiss 7 Mar. 2008
By HugeStakkaBoFan - Published on
Format: Paperback Verified Purchase
I've known about this book for a while now, but I've never bothered paying attention to it given it's somewhat ridiculous price tag. Necessity forced me to forgo my earlier conclusions however, and I'm now angry at myself for not picking it up sooner. However much you think you know about Quartz, there's always more to learn, and this book is a whole lot easier to pick new tricks up from than Apple's scant free documentation. It's a bit dated when it comes to the XCode specific info, but unless you're a total newcomer you should be able to fill in the proverbial gaps there without much trouble.

This is the second book on OS X programming that I have felt is truly worth owning; the first being Amit Singh's "Mac OS X Internals." This one's not as thick, nor is it hardbound, but there are lots of color plates. Good stuff.
Were these reviews helpful? Let us know