Programming with Quartz, First Edition : 2D and PDF Graphics in Mac OS X (The Morgan Kaufmann Series in Computer Graphics)
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Programming with Quartz, First Edition : 2D and PDF Graphics in Mac OS X (The Morgan Kaufmann Series in Computer Graphics) | |||||||||||||||||||||||||||||
|
Written by members of the development team at Apple, Programming with Quartz is the first book to describe the sophisticated graphics system of Mac OS X. By using the methods described in this book, developers will be able to fully exploit the state-of-the-art graphics capabilities of Mac OS X in their applications, whether for Cocoa or Carbon development. This book also serves as an introduction to 2D graphics concepts, including how images are drawn and how color is rendered. It includes guidance for working with PDF documents, drawing bitmap graphics, using Quartz built-in color management, and drawing text. Programming with Quartz is a rich resource for new and experienced Mac OS X developers, Cocoa and Carbon programmers, UNIX developers who are migrating to Mac OS X, and anyone interested in powerful 2D graphics systems.
* This is the definitive guide to the revolutionary graphics system of Mac OS X that uses the Portable Document Format (PDF) as the basis of its imaging model. * It contains the latest on programming with Quartz for Mac OS X version 10.4. * Carefully crafted and extensive code examples show how to accomplish most of the drawing tasks possible with Quartz. |
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 15 of 15 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 03-07-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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. (Review Data Last Updated: 2008-11-19 05:52:51 EST)
|
|||||||||||||||||||||||||||||
| 05-13-07 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
If all of the Apple frameworks were explained as well as CoreGraphics/Quartz is in this book, life would be so much better for independent programmers. I am not writing code in XCode, but one where I need to port calls to custom classes. This book has helped me so much. I have not located the link on the publisher's site (maybe I'm just missing it), but my only complaint (a very minor one) would be that they don't have a contact email for the authors to report errata or thank them.
Well written, to the point, good code examples and does not duplicate the Apple documents. Covers Carbon and Cocoa calls. The chapters on axial and radial shadings were the most helpful for me. (Review Data Last Updated: 2008-03-08 04:23:48 EST)
|
|||||||||||||||||||||||||||||
| 12-13-06 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Great programming guide to Quartz. This book really sets the example for how to provide the combination of concepts and code to get the new user over the hump. The XCode projects are beautifully organized. This is the best book I have bought on Macintosh Programming that I can recall. Well done!
(Review Data Last Updated: 2007-07-04 15:23:30 EST)
|
|||||||||||||||||||||||||||||
| 06-01-06 | 4 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is an extremely comprehensive guide to drawing in Mac OS X with Quartz. I was a little disappointed in the lack of Cocoa (with objective-C) ties. You can do anything with Quartz, but sometimes it would take much less time to use the Cocoa equivalents when programming your OS X applications.
That said, it's well written, and easy to follow so long as you do the examples as you go. You can certainly hop around in the book, but I found I had to read the intro chapters twice to really get the terminology. (Review Data Last Updated: 2007-07-04 15:23:30 EST)
|
|||||||||||||||||||||||||||||
| 05-31-06 | 4 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is an extremely comprehensive guide to drawing in Mac OS X with Quartz. I was a little disappointed in the lack of Cocoa (with objective-C) ties. You can do anything with Quartz, but sometimes it would take much less time to use the Cocoa equivalents when programming your OS X applications.
That said, it's well written, and easy to follow so long as you do the examples as you go. You can certainly hop around in the book, but I found I had to read the intro chapters twice to really get the terminology. (Review Data Last Updated: 2006-12-13 13:04:48 EST)
|
|||||||||||||||||||||||||||||
| 04-20-06 | 5 | 6\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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. (Review Data Last Updated: 2007-07-04 15:23:30 EST)
|
|||||||||||||||||||||||||||||
| 04-19-06 | 5 | 3\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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. (Review Data Last Updated: 2006-05-31 14:02:54 EST)
|
|||||||||||||||||||||||||||||
| 02-13-06 | 5 | 12\12 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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. (Review Data Last Updated: 2007-07-04 15:23:30 EST)
|
|||||||||||||||||||||||||||||
| 01-22-06 | 5 | 22\22 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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 books.elsevier.com/us/mk/us/subindex.asp?isbn=0123694736 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. (Review Data Last Updated: 2007-07-04 15:23:30 EST)
|
|||||||||||||||||||||||||||||
| 01-21-06 | 5 | 8\8 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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 books.elsevier.com/us/mk/us/subindex.asp?isbn=0123694736 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. (Review Data Last Updated: 2006-03-09 09:44:17 EST)
|
|||||||||||||||||||||||||||||
| 01-21-06 | 5 | 17\17 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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 books.elsevier.com/us/mk/us/subindex.asp?isbn=0123694736 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. (Review Data Last Updated: 2006-05-31 14:02:54 EST)
|
|||||||||||||||||||||||||||||
| 01-14-06 | 5 | 9\11 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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:
http://lists.apple.com/mailman/listinfo/quartz-dev (Review Data Last Updated: 2006-05-31 14:02:54 EST)
|
|||||||||||||||||||||||||||||
| 12-29-05 | 4 | 3\9 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The fact the gentlemen above didn't realize this is shocking as the overview makes it clear.
(Review Data Last Updated: 2006-03-09 09:44:17 EST)
|
|||||||||||||||||||||||||||||
| 12-29-05 | 3 | 1\23 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The examples open fine in Tiger, but the project files aren't recognized in Panther.
================================================= Page xxiv of the Preface: "Most of the examples will run properly on Jaguar and later versions." Those are the examples that I could not open in Xcode 1.5 on Panther 10.3.9. (Review Data Last Updated: 2006-05-31 14:02:54 EST)
|
|||||||||||||||||||||||||||||
| 12-29-05 | 4 | 4\14 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The fact the gentlemen above didn't realize this is shocking as the overview makes it clear.
(Review Data Last Updated: 2006-05-31 14:02:54 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 15 of 15 | |||||||||||||||||||||||||||||
| All Books | Arts | Biography | Click Here For An A-Z Index Of All 213 Best-Seller Subjects | Business | Children's | Comics | ||||||
| Computers | Cooking | Engineering | Entertainment | Health | History | Home | Horror | Humor | Law | Fiction | Medicine | Mystery |
| Nonfiction | Outdoors | Parenting | Professional | Reference | Religion | Romance | Science | Sci-Fi | Sports | Teens | Travel | |