Quartz 2D Graphics for Mac OS X Developers

The book begins by placing Quartz 2D and Core Image in the context of the Mac OS X graphics system. As part of that discussion some very important advances in personal computer graphics systems are pointed outadvances that Quartz 2D uses to its advantage. Chapter 2, "From QuickDraw to Quartz 2D," offers a historical perspective on the origins of the Mac OS X graphics system in general, Quartz 2D in particular. It discusses important trends that are shaping the future of computer graphics on the Macintosh. These discussions also contain valuable insights that will hopefully demonstrate the advantages of adopting Quartz 2D in your own applications.

Chapter 3, "Introduction to Quartz 2D," begins the main discussion of Quartz 2D itself. This chapter begins by describing some of the distinguishing features that the library provides. Chapter 3 is also an introduction to the Quartz 2D drawing model. The chapter presents a bird's-eye view of the drawing process and contrasts the Quartz drawing model with the traditional pixel-based model of other graphics systems.

Chapter 4, "The Graphics Context," begins a more in-depth analysis of the Quartz 2D imaging model. This chapter builds upon the foundation in Chapter 3 and describes a central player in the Quartz 2D imaging model, the Core Graphics Context. The chapter describes the many facets of a graphics context and concludes with a discussion of how to create graphics contexts on a variety of devices.

Chapter 5, "Trasformations," discusses coordinate transformations in Quartz 2D. The flexibility in the Quartz 2D coordinate system is an important feature that is not found in many other graphics libraries. The transformations in Quartz 2D form the basis of the library's device independence and are valuable tools that can help applications build their graphics. In describing the transformations in Quartz 2D Chapter 5 offers suggestions about how to use them to simplify the drawing process.

Chapter 6, "Line ArtBuilding Paths," and Chapter 7, "Line ArtDrawing," concern the tools used to draw line art in Quartz 2D. Chapter 6 introduces the fundamental element of line art in the system, the Bezier Path. The chapter discusses the role of the path in the drawing model and describes different ways applications can construct paths. Chapter 7 builds upon the information in Chapter 6 by exploring the basic path drawing operations. While there are only three fundamental drawing operations for paths (stroking, filling, and clipping), the Quartz 2D imaging model includes a large number of options for each operation. Chapter 7 describes these options and their effects.

Chapters 8, "Image Basics," and Chapter 9, "Importing and Exporting Images," address the role of images in the Quartz 2D drawing model. Images are the tools that Quartz 2D provides for working with pixel data. Chapter 8 explains what goes into an image, how to incorporate images into your graphics, and how to generate pixel-based images from Quartz drawing code. The ability to create images becomes much more exciting when you can export those images to other applications. Chapter 9 explores two systems capable of importing and exporting graphics, Image I/O and QuickTime. Image I/O is a new, powerful architecture for exporting images from Quartz 2D. Image I/O, however, is a Tiger-only feature. For the benefit of applications that must work with older Mac OS X systems, also included is a description of working with QuickTime importers and exporters.

Chapter 10, "Drawing with Core Image," continues the theme of working with images by presenting an introduction to Core Image. The chapter provides an quick overview of Core Image features and functionality. It then describes the Core Image drawing process and offers some code demonstrations that show how to use Core Image to apply a simple image filter and to run a transition.

Chapter 11, "Drawing Text with Quartz 2D," discusses the text capabilities of Quartz 2D. In addition to describing the features of the Quartz 2D text system, the chapter explains how Quartz 2D integrates with more sophisticated text handling systems. To demonstrate the text handling capabilities of Quartz 2D itself, the chapter includes a code sample that demonstrates one technique for using Quartz 2D to generate special text effects.

Chapter 12, "Drawing Offscreen," describes two mechanisms that Quartz 2D includes for drawing in off-screen environments. Proper use of offscreen graphics can have a profound impact on the performance of your application. This chapter describes drawing in CGLayers and into offscreen bitmaps. It provides some insight directed at helping developers choose the most appropriate mechanism for their own code.

Chapter 13, "Shadings and Patterns," covers Shadings and Patterns. Shadings and Patterns are two drawing primitives in Quartz 2D that are have not traditionally been available in other graphics libraries but which are found in most contemporary graphics packages. Shadings allow a program to create smoothly blended fields of color and then fill shapes with those colors. Patterns are formed by tiling a particular graphic repeatedly.

Chapter 14, "Working with PDF," focuses on the role of the PDF format in Quartz 2D. The library has the ability to record a series of drawing commands into a PDF. This means that PDF is the metafile format for Quartz 2D. The system also has the ability to draw PDF files. This chapter explores techniques for both creating PDF files from Quartz 2D drawing commands and incorporating external PDF files into your own graphics.

Категории