Jump To:
Leopard Reference Library
Graphics and imaging on Mac OS X consists of three main developer technologies: Quartz, an advanced drawing engine and windowing environment; OpenGL, an Apple implementation of this 3D graphics industry-standard API; and QuickTime, the cross-platform multimedia technology for handling video, sound, and text.

A guided introduction for developers new to Mac OS X graphics and imaging.   Essential information for developers working with graphics and imaging.   C and Objective-C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
CGDataProvider Reference (HTML) (PDF)
Describes an opaque data type for reading image data.
Quartz Reference 2009-01-06
CGDrawPicture (HTML) (DMG) (ZIP)
Deprecated - Shows how to use the QDPictDrawToCGContext API.
Quartz Sample Code 2003-01-14
CGFont Reference (HTML) (PDF)
Describes a representation of a font.
Quartz Reference 2007-07-17
CGFunction Reference (HTML) (PDF)
Describes a facility for defining and using callback functions.
Quartz Reference 2006-12-22
CGGamma (HTML) (DMG) (ZIP)
Shows how to use CGDirectDisplay calls to manipulate display gamma tables.
Quartz Sample Code 2003-01-14
CGGeometry Reference (HTML) (PDF)
Describes structures and functions for manipulating points, rectangles, and sizes.
Quartz Reference 2009-01-06
CGGLContext Reference (HTML) (PDF)
Describes a graphics context for OpenGL commands. Not recommended
Quartz Reference 2006-12-22
CGGradient Reference (HTML) (PDF)
Describes the functions that create and operate on Quartz gradient objects.
Quartz Reference 2007-05-01
CGImage Reference (HTML) (PDF)
Describes a representation of an image.
Quartz Reference 2008-04-08
CGImageDestination Reference (HTML) (PDF)
Describes the opaque type for writing image data.
Quartz Reference 2007-05-04
CGImageProperties Reference (HTML) (PDF)
Describes property constants for source and destination images.
Quartz Reference 2007-10-31
CGImageRef contents are immutable (HTML) (日本語 HTML)
QA1276: Explains that CGImageRef contents are considered immutable once created.
Quartz Technical Q&As 2003-07-17
CGImageSource Reference (HTML) (PDF)
Describes the opaque type for reading image data.
Quartz Reference 2007-12-04
CGLayer Reference (HTML) (PDF)
Describes the opaque type for creating and drawing to a Quartz layer.
Quartz Reference 2006-12-22
CGPath Reference (HTML) (PDF)
Describes a vector-based path consisting of line and curve segments.
Quartz Reference 2006-12-22
CGPattern Reference (HTML) (PDF)
Describes a representation of a fill pattern.
Quartz Reference 2006-12-22
CGPDFArray Reference (HTML) (PDF)
Describes an array structure in a PDF document.
Quartz Reference 2008-10-15
CGPDFContentStream Reference (HTML) (PDF)
Describes the appearance of a PDF page.
Quartz Reference 2008-10-15
CGPDFContext Reference (HTML) (PDF)
Describes a Quartz PDF drawing destination.
Quartz Reference 2007-10-31
CGPDFDictionary Reference (HTML) (PDF)
Describes a dictionary structure in a PDF document.
Quartz Reference 2008-10-15
CGPDFDocument Reference (HTML) (PDF)
Describes a document containing PDF data.
Quartz Reference 2006-12-22
CGPDFObject Reference (HTML) (PDF)
Describes a PDF object in a PDF document.
Quartz Reference 2008-10-15
CGPDFOperatorTable Reference (HTML) (PDF)
Describes a collection of PDF operators and associated callback functions.
Quartz Reference 2009-03-04
CGPDFPage Reference (HTML) (PDF)
Describes a page in a PDF document.
Quartz Reference 2008-04-08
CGPDFScanner Reference (HTML) (PDF)
Describes an opaque type for parsing a PDF content stream.
Quartz Reference 2008-10-15
CGPDFStream Reference (HTML) (PDF)
Describes a PDF data stream, which typically represents an image or a page description.
Quartz Reference 2008-10-15
CGPDFString Reference (HTML) (PDF)
Describes a character string in a PDF document.
Quartz Reference 2008-10-15
CGPSConverter Reference (HTML) (PDF)
Describes an opaque type for converting PostScript data to PDF data.
Quartz Reference 2006-12-22
CGShading Reference (HTML) (PDF)
Describes a gradient fill pattern.
Quartz Reference 2006-12-22
CIAnnotation (HTML) (DMG) (ZIP)
Image annotation application using Core Image Filters. Demonstrates creation and usage of Image Units.
Quartz Sample Code 2005-08-01
CIColor Additions Reference (HTML) (PDF)
Describes additions to support Cocoa color information.
Quartz Reference 2006-05-23
CIColor Class Reference (HTML) (PDF)
Describes the class used to manage color values and color spaces for Core Image filters.
Quartz Reference 2006-12-05
CIColorTracking (HTML) (DMG) (ZIP)
An Objective-C applicaton that implements a GPU-based technique to find the location of a uniquely colored object in a scene
Quartz Sample Code 2008-04-24
CIContext Class Reference (HTML) (PDF)
Describes the class that provides an evaluation context for rendering a Core Image image through Quartz 2D or OpenGL.
Quartz Reference 2007-03-16
CIFilter Class Reference (HTML) (PDF)
Describes the class that processes image data and produces a Core Image image as output.
Quartz Reference 2007-12-11
CIFilter Core Animation Additions (HTML) (PDF)
Describes the category that extends Core Image filters for use with Layer Kit.
Quartz Reference 2007-07-24
CIFilter Image Kit Additions (HTML) (PDF)
Describes the category that extends Core Image filters for use with Image Kit.
Quartz Reference 2006-12-06
CIFilterGenerator Class Reference (HTML) (PDF)
Describes the class that supports chaining together image processing filters.
Quartz Reference 2006-12-05
CIFilterShape Class Reference (HTML) (PDF)
Describes the class that defines the bounding shape of a filter and the domain of definition of a filter operation.
Quartz Reference 2006-12-07
CIImage Additions Reference (HTML) (PDF)
Describes additions for manipulating Cocoa images.
Quartz Reference 2007-06-08
CIImage Class Reference (HTML) (PDF)
Describes the class that represents an immutable Core Image image.
Quartz Reference 2007-10-31
CIImageAccumulator Class Reference (HTML) (PDF)
Describes the class that enables feedback-based image processing.
Quartz Reference 2007-01-05
CIImageProvider Protocol Reference (HTML) (PDF)
Describes the informal protocol used to supply bitmap data for creating or initializing a Core Image image.
Quartz Reference 2006-12-05
CIKernel Class Reference (HTML) (PDF)
Describes the class that operates on individual pixels using a kernel routine.
Quartz Reference 2006-12-05
CIPlugIn Class Reference (HTML) (PDF)
Describes the class that is responsible for loading image units.
Quartz Reference 2006-12-05
CIPlugInRegistration Protocol Reference (HTML) (PDF)
Describes the protocol used to load Core Image image units.
Quartz Reference 2006-12-07
CISampler Class Reference (HTML) (PDF)
Describes the class that retrieves samples of images that are then processed by a Core Image kernel.
Quartz Reference 2006-12-07
CITransitionSelectorSample2 (HTML) (DMG) (ZIP)
Showing all available Core Image transitions in a scrollable NSOpenGLView
Quartz Sample Code 2006-09-18
CIVector Class Reference (HTML) (PDF)
Describes the class used to pass parameter values to Core Image filters.
Quartz Reference 2006-12-07
Cocoa CG aliasing demo (HTML) (DMG) (ZIP)
Shows how to draw both aliased and anti-aliased text and graphics using Quartz and Cocoa.
Quartz Sample Code 2003-07-17
Cocoa CG arc demo (HTML) (DMG) (ZIP)
Shows how to draw both aliased and anti-aliased arcs using Quartz and Cocoa.
Quartz Sample Code 2003-07-17
CocoaSlides (HTML) (DMG) (ZIP)
An image browser written using AppKit's Core Animation-based compositing and animation functionality
Quartz Sample Code 2007-11-02
ColorBars (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, draw to, and release displays using the CGDirectDisplay API.
Quartz Sample Code 2003-01-14
ColorSync on Mac OS X (HTML) (日本語 HTML)
TN2035: Describes ColorSync, which is fundamentally integrated into Mac OS X.
Quartz Technical Notes 2005-08-10
Core Animation Cookbook (HTML) (PDF)
Demonstrates common Core Animation tasks.
Quartz Guides 2008-03-11
Core Animation Function Reference (HTML) (PDF)
Describes the C functions that support Core Animation.
Quartz Reference 2007-07-24
Core Animation Programming Guide (HTML) (PDF)
Introduces the main components and services of Core Animation.
Quartz Guides 2008-11-13
Core Animation properties and Reference Counting (HTML)
QA1565: Describes a discrepancy between the property declarations in Core Animation and the actual behavior.
Quartz Technical Q&As 2008-11-24
Core Animation Reference Collection (HTML) (PDF)
Describes the API for Core Animation.
Quartz Reference 2008-06-26
Core Animation Release Notes (HTML)
Describes features, issues, and workarounds related to Mac OS X v10.5 and its support of Core Animation.
Quartz Release Notes 2007-05-31
Core Graphics Reference Collection (HTML) (PDF)
Describes the API for Quartz 2D drawing, Quartz Display Services, and Quartz Events Services.
Quartz Reference 2006-12-11
Core Image Filter Reference (HTML) (PDF)
Describes the built-in image processing filters available through Core Image.
Quartz Reference 2008-07-11
Core Image Kernel Language Reference (HTML) (PDF)
Describes the symbols for writing image-processing kernels.
Quartz Reference 2008-06-09
Core Image Programming Guide (HTML) (PDF)
Provides an overview and explains how to use and create image filters and image units.
Quartz Guides 2008-06-09
Core Image Reference Collection (HTML) (PDF)
Describes the Objective-C API for using and creating filters for image processing.
Quartz Reference 2006-12-05
Core Video Reference (HTML) (PDF)
Describes the C API for obtaining and manipulating individual video frames.
Quartz Reference 2007-03-22
CoreImageGLTextureFBO (HTML) (DMG) (ZIP)
Making OpenGL textures with Core Image
Quartz Sample Code 2008-07-30
Creating color spaces that ensure color matching. (HTML)
QA1396: How to create color spaces that ensure color matching.
Quartz Technical Q&As 2005-10-04
CTMClip (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing with clipping.
Quartz Sample Code 2003-01-14
CTMDemo (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing without clipping.
Quartz Sample Code 2003-01-14
Debugging Graphics with QuartzDebug (HTML) (日本語 HTML)
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Quartz Technical Q&As 2006-01-12
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Quartz Technical Q&As 2001-07-02
Efficiently using Quartz Composer compositions with QuickTime (HTML)
TN2145: Describes how to best use Quartz Composer compositions in a QuickTime environment.
Quartz Technical Notes 2005-07-05
Enhance Your Dashboard Widgets with Quartz Composer Compositions (HTML)
Learn to create a composition and embed it easily in your widgets.
Quartz Articles 2007-02-13
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
Quartz Technical Q&As 2005-03-08
GeekGameBoard (HTML) (DMG) (ZIP)
Shows how to use Core Animation for the user interface of a board or card game.
Quartz Sample Code 2007-12-19
Getting images in and out from Quartz Composer compositions (HTML)
TN2143: Describes how to efficiently pass images into and out of Quartz Composer
Quartz Technical Notes 2005-10-04
Getting the pixel data from a CGImage object (HTML)
QA1509: Describes how to access the pixel data of a CGImage object
Quartz Technical Q&As 2008-08-27
How can I optimize a Quartz Composer composition depending on the hardware it runs on? (HTML)
QA1433: Explains how to design compositions that adapt to the hardware limitations.
Quartz Technical Q&As 2005-06-01
How can I programmatically determine the DPI of the current video mode? (HTML) (日本語 HTML)
QA1217: Describes how to compute the DPI for a given display in a given mode using Core Graphics.
Quartz Technical Q&As 2002-12-02
How do I determine how much VRAM is available on my video card? (HTML)
QA1168: Using Core Graphics and IOKit to find the physical size of VRAM on installed hardware.
Quartz Technical Q&As 2004-10-11
How do I tell if a particular display is being hardware accelerated by Quartz Extreme? (HTML) (日本語 HTML)
QA1218: Describes how to use CGDisplayUsesOpenGLAcceleration to see if a display is accelerated or not.
Quartz Technical Q&As 2002-12-04
How do I use QuickDraw with CGDirectDisplay? (HTML)
QA1011: Explains how to draw to a CGDirectDisplay-captured display using QuickDraw.
Quartz Technical Q&As 2001-04-11
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Quartz Technical Q&As 2007-08-02
IKFilterBrowserPanel Class Reference (HTML) (PDF)
Describes the class that provides the panel contained in a filter browser.
Quartz Reference 2007-10-31
IKFilterBrowserView Class Reference (HTML) (PDF)
Describes the class that supports browsing Core Image filters.
Quartz Reference 2006-12-06
IKFilterCustomUIProvider Protocol Reference (HTML) (PDF)
Descibes the protocol that defines a method for providing a view for a filter.
Quartz Reference 2006-12-07
IKFilterUIView Class Reference (HTML) (PDF)
Describes the class that provides a user interface for Core Image filters.
Quartz Reference 2006-12-06
IKImageBrowserDataSource Protocol Reference (HTML) (PDF)
Describes the informal protocol used to access the data source associated with an image browser view.
Quartz Reference 2007-07-17
IKImageBrowserDelegate Protocol Reference (HTML) (PDF)
Describes the informal protocol for the delegate of an image browser view.
Quartz Reference 2006-12-07
IKImageBrowserItem Protocol Reference (HTML) (PDF)
Describes the informal protocol used by an image browser view to access the data source for an item.
Quartz Reference 2007-01-12
IKImageBrowserView Class Reference (HTML) (PDF)
Describes the class that can display and browse a large amount of images and movies in an efficient manner.
Quartz Reference 2006-12-13
IKImageEditPanel Class Reference (HTML) (PDF)
Describes the class that provides a panel optimized for image editing.
Quartz Reference 2006-12-06
IKImageEditPanelDataSource Protocol Reference (HTML) (PDF)
Describes the mthods than an image edit panel object uses to access the contents of its data source object.
Quartz Reference 2006-12-06
IKImageView Class Reference (HTML) (PDF)
Describes the class used to display images efficiently at the same time it supports image editing.
Quartz Reference 2008-04-08
IKPictureTaker Class Reference (HTML) (PDF)
Descibes the class that provides a panel for choosing images.
Quartz Reference 2007-10-31
IKSaveOptions Class Reference (HTML) (PDF)
Describes the class that initializes, adds, and manages user interface options for saving image data.
Quartz Reference 2006-12-06
IKSlideshow Class Reference (HTML) (PDF)
Describes the class that encapsulates a data source and options for a slideshow.
Quartz Reference 2007-10-31
IKSlideshowDataSource Protocol Reference (HTML) (PDF)
Describes the methods that a slideshow object uses to access the contents of its data source object.
Quartz Reference 2009-03-04
IKSlideshowDemo (HTML) (DMG) (ZIP)
This small sample project shows how to use the ImageKit Slideshow to display images or PDFs.
Quartz Sample Code 2006-08-01