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

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
PMPrinterPrintWithFile (HTML) (DMG) (ZIP)
How to send files, for example PostScript and PDF, directly to the printer. Replaces the pict-ps path.
Printing Sample Code 2006-07-18
Preserving embedded ICC profiles when using QuickTime Graphics Importer/Exporters (HTML) (日本語 HTML)
QA1145: Shows how to preserve the embedded ICC profile when using the QuickTime Graphics Importer/Exporter routines
Carbon Technical Q&As 2002-09-04
Printing Plug-in Interfaces Reference (HTML) (PDF)
Describes the various callback interfaces that Mac OS X printing plug-ins implement in Carbon.
Printing Reference 2003-07-31
Printing Programming Topics for Cocoa (HTML) (PDF)
Explains how to support printing in Cocoa applications.
Cocoa, Printing Guides 2006-06-28
Problem Getting PICTS to Display in Correct Colors (HTML)
Deprecated - QD24: Using a custom color table to get PICTs to display with the right colors in an offscreen GWorld.
Carbon Technical Q&As 1995-09-15
Problem with PaintRgn on 256-color Screens (HTML)
Deprecated - QD23: PaintRgn with RGBForeColor and transfer mode addOver doesn't return color to original on 256-color-screens.
Carbon Technical Q&As 1995-09-15
Problems Creating a Mask for a Picture (HTML)
Deprecated - QD27: Demonstrates creating a mask where the mask is 0 for pure white pixels and 1 everywhere else.
Carbon Technical Q&As 1995-09-15
Problems recording CopyBits into a PICT on Mac OS X 10.2 (HTML) (日本語 HTML)
QA1189: Identifies a problem with CopyBits and PICT on Mac OS X 10.2 and gives a simple workaround.
Carbon Technical Q&As 2002-11-19
Providing PDF Workflow Options in the Print Dialog (HTML) (PDF)
Installation information and examples, including the use of Automator workflows.
Printing Guides 2007-10-31
Providing QuickDraw with a Known Good Port (HTML) (日本語 HTML)
Deprecated - QA1237: How to use SetPort( NULL) to provide QuickDraw with a known good port.
Carbon Technical Q&As 2003-09-29
QCComposition Class Reference (HTML) (PDF)
Describes the class that represents a Quartz Composer composition.
Cocoa, Quartz Reference 2007-06-26
QCCompositionLayer Class Reference (HTML) (PDF)
Describes the class used to display a Quartz Composer composition in a Layer Kit layer.
Quartz Reference 2007-12-11
QCCompositionParameterView Class Reference (HTML) (PDF)
Describes the class used to edit the input parameters of a composition in a view.
Cocoa, Quartz Reference 2007-05-09
QCCompositionParameterViewDelegate Protocol Reference (HTML) (PDF)
Describes the protocol for responding to changes in a QCCompositionParameterView object.
Cocoa, Quartz Reference 2007-05-09
QCCompositionPickerPanel Class Reference (HTML) (PDF)
Describes the class used to display a utility window for browsing and selecting a composition.
Cocoa, Quartz Reference 2007-05-09
QCCompositionPickerView Class Reference (HTML) (PDF)
Describes the class used to display a view for browsing and selecting a composition.
Cocoa, Quartz Reference 2007-05-09
QCCompositionPickerViewDelegate Protocol Reference (HTML) (PDF)
Describes the protocol for responding to changes in a QCCompositionPickerView object.
Cocoa, Quartz Reference 2007-05-09
QCCompositionRenderer Protocol Reference (HTML) (PDF)
Describes the methods for passing and retrieving data from the ports of a composition.
Cocoa, Quartz Reference 2008-04-08
QCCompositionRepository Class Reference (HTML) (PDF)
Describes the class that represents a system-wide, central repository of Quartz Composer compositions.
Cocoa, Quartz Reference 2007-05-09
QCFundamentals (HTML) (DMG) (ZIP)
Demonstrates Coordinate, Interpolation, and Iterative systems in Quartz Composer with an amusing animation
Cocoa, OpenGL, Quartz, Tools Sample Code 2006-08-07
QCGalaxy (HTML) (DMG) (ZIP)
Demonstrates use of Particle Systems and Core Image Filters in Quartz Composer
Cocoa, OpenGL, Quartz, Tools Sample Code 2006-08-07
QCPlugIn Class Reference (HTML) (PDF)
Describes the class used to write custom patches for Quartz Composer.
Cocoa, Quartz Reference 2008-04-08
QCPlugInContext Protocol Reference (HTML) (PDF)
Describes the protocol used by execution contexts.
Cocoa, Quartz Reference 2007-05-09
QCPlugInInputImageSource Protocol Reference (HTML) (PDF)
Describes the methods for managing image data that's input to a QCPlugIn object.
Cocoa, Quartz Reference 2007-07-12
QCPlugInOutputImageProvider Protocol Reference (HTML) (PDF)
Describes the methods for managing image data that's produced as output from a QCPlugIn object.
Cocoa, Quartz Reference 2007-05-09
QCPlugInViewController Class Reference (HTML) (PDF)
Describes the class that provides a controller object for a user interface to edit the settings for a QCPlugIn object.
Cocoa, Quartz Reference 2007-05-09
QCRenderer Class Reference (HTML) (PDF)
Describes the class used to load, play, and control a Quartz Composer composition to an arbitrary OpenGL context.
Cocoa, Quartz Reference 2007-05-09
QCView Class Reference (HTML) (PDF)
Describes the class used to load, play, and control a Quartz Composer composition to a custom NSView object.
Cocoa, Quartz Reference 2007-05-09
QDFlushPortBuffer (HTML) (日本語 HTML)
QD65: Describes a possible solution for window update problems under Carbon.
Carbon, Games Technical Q&As 2000-11-08
QDSwapPort (HTML) (日本語 HTML)
QA1128: Explains when to use QDSwapPort.
Carbon Technical Q&As 2002-11-06
QTCarbonCoreImage101 (HTML) (DMG) (ZIP)
Demonstrates how to render QuickTime Movies using Core Image filters and the new video pipeline.
QuickTime Sample Code 2006-02-14
QTCoreImage101 (HTML) (DMG) (ZIP)
Demonstrates how to render a QuickTime Movie using Core Image filters and the new video pipeline.
Cocoa, Quartz, QuickTime, Video Sample Code 2005-07-19
QTCoreVideo101 (HTML) (DMG) (ZIP)
Demonstrates (with very little code) how to render a QuickTime Movie using CoreVideo and OpenGL.
OpenGL, QuickTime, Video Sample Code 2008-04-24
QTCoreVideo102 (HTML) (DMG) (ZIP)
An application demonstrating the use of QTKit, CoreVdeo, and OpenGL.
OpenGL, QuickTime, Video Sample Code 2008-06-06
QTCoreVideo103 (HTML) (DMG) (ZIP)
Demonstrates how to render a QuickTime Movie using OpenGL texture range and the Core Video pixel buffer pipeline.
OpenGL, QuickTime, Video Sample Code 2008-06-06
QTCoreVideo201 (HTML) (DMG) (ZIP)
Demonstrates how to render a QuickTime Movie using OpenGL FBO and the Core Video texture pipeline.
OpenGL, QuickTime, Video Sample Code 2008-06-06
QTCoreVideo202 (HTML) (DMG) (ZIP)
Demonstrates how to render a QuickTime Movie using OpenGL PBO and the Core Video pixel buffer pipeline.
OpenGL, QuickTime, Video Sample Code 2009-04-07
QTCoreVideo301 (HTML) (DMG) (ZIP)
Demonstrates adding of effects & filters to QuickTime Movies in realtime using GLSL shaders and the Core Video texture pipeline.
OpenGL, QuickTime, Video Sample Code 2009-04-07
QTKit Capture - Specifying Media Compression Settings (HTML)
QA1586: Describes how to configure a file output object to save compressed captured media.
Cocoa Technical Q&As 2008-03-11
QTPixelBufferVCToCGImage (HTML) (DMG) (ZIP)
Demonstrates using QTPixelBufferContextCreate with NewMovieFromProperties to output pixel buffers from a movie and draw them.
Quartz, Video Sample Code 2006-07-07
QTQuartzPlayer (HTML) (DMG) (ZIP)
QTQuartzPlayer demonstrates how to render QuickTime Movies and live video with OpenGL and CoreVideo.
QuickTime Sample Code 2005-10-04
qtshell (HTML) (DMG) (ZIP)
Simple QuickTime and QuickTime VR viewer framework.
QuickTime Sample Code 2003-10-27
QTtoCG (HTML) (DMG) (ZIP)
Shows how to create a CGImageRef with the proper ColorSync profile from a QuickTime image on disk.
Cocoa, Quartz, QuickTime Sample Code 2003-01-14
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2002-10-29
Quartz 2D Programming Guide (HTML) (PDF)
Explains how to use Quartz 2D. Includes illustrations and sample code.
Carbon, Quartz Guides 2007-12-11
Quartz 2D Reference Collection (HTML) (PDF)
Describes the C API for the native two-dimensional drawing engine in Mac OS X.
Carbon, Games, Quartz Reference 2006-12-18
Quartz 2D Shadings (HTML) (DMG) (ZIP)
Shows how to use CGShading and CGGradient objects to draw simple gradients.
Carbon, Cocoa, Quartz Sample Code 2007-08-31
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Carbon, Cocoa, Performance, Printing, Quartz Technical Q&As 2003-02-25
Quartz 2D Transformer (HTML) (DMG) (ZIP)
Shows how to use Quartz 2D to manipulate an image
Carbon, Cocoa, Quartz Sample Code 2007-06-21
Quartz Composer Custom Patch Programming Guide (HTML) (PDF)
Describes how to create custom patches for distribution.
Cocoa, Quartz Guides 2007-12-11
Quartz Composer Live DV (HTML) (DMG) (ZIP)
Shows how to export a Quartz Composer composition as a real-time DV stream on the FireWire port.
Cocoa, OpenGL, Quartz, QuickTime Sample Code 2005-06-01
Quartz Composer Matrix (HTML) (DMG) (ZIP)
Shows how to use Quartz Composer to display a QuickTime movie as a series of frames in a 3D world.
Cocoa, OpenGL, Quartz, QuickTime Sample Code 2005-06-01
Quartz Composer Offline Rendering (HTML) (DMG) (ZIP)
Shows how to render a Quartz Composer composition as a series of images using an OpenGL pBuffer.
Cocoa, OpenGL, Quartz Sample Code 2005-06-01
Quartz Composer Programming Guide (HTML) (PDF)
Describes how to used the framework to load, play, and control compositions.
Carbon, Cocoa, Quartz Guides 2008-10-15
Quartz Composer QCTV (HTML) (DMG) (ZIP)
Shows how to build a fake TV system using Quartz Composer as the foundation motion graphics.
Cocoa, OpenGL, Quartz, QuickTime Sample Code 2005-07-06
Quartz Composer Reference Collection (HTML) (PDF)
Describes the Objective-C API that supports loading, playing, and controlling compositions.
Cocoa, Quartz Reference 2007-01-25
Quartz Composer Release Note for Mac OS X v10.5 (HTML)
Summarizes the features and changes in Quartz Composer for Mac OS X v10.5.
Quartz Release Notes 2007-10-31
Quartz Composer Texture (HTML) (DMG) (ZIP)
Shows how to use a Quartz Composer composition as an OpenGL texture.
Cocoa, Games, OpenGL, Quartz Sample Code 2005-06-01
Quartz Composer User Guide (HTML) (PDF)
Explains how to use the Quartz Composer development tool to create motion graphics compositions.
Cocoa, Quartz, Tools Guides 2007-07-17
Quartz Composer WebKit Plug-in JavaScript Reference (HTML) (PDF)
Describes the API for manipulating Quartz Composer compositions in webpages and Dashboard widgets via the Quartz Composer WebKit Plug-in.
Quartz Guides 2009-01-06
Quartz Composer WWDC 2005 Composition (HTML) (DMG) (ZIP)
Shows how to build a parameterized motion graphics composition with Quartz Composer.
Cocoa, Quartz, Tools Sample Code 2005-06-01
Quartz Composer WWDC 2005 TextEdit (HTML) (DMG) (ZIP)
Demonstrate how to modify TextEdit's about dialog to display a Quartz Composer composition.
Cocoa, Quartz Sample Code 2005-06-01
Quartz Core Framework Reference (HTML) (PDF)
Describes the interfaces for Core Image and Core Video.
Quartz Reference 2008-03-12
Quartz Core Reference Update (HTML) (PDF)
Summarizes the symbols added to the Quartz Core framework.
Quartz Release Notes 2007-07-18
Quartz Display Services Programming Topics (HTML) (PDF)
Shows how to configure and control display hardware using Quartz Display Services.
Carbon, Quartz Guides 2006-06-28
Quartz Display Services Reference (HTML) (PDF)
Describes the interface for configuring and controlling display hardware.
Carbon, Hardware & Drivers, Quartz Reference 2008-11-19
Quartz EB (HTML) (DMG) (ZIP)
WWDC 2001 Early Bird Quartz 2D tutorial of vector drawing and PDF import/export.
Cocoa, Quartz Sample Code 2003-01-14
Quartz Event Services Reference (HTML) (PDF)
Describes the C API for event taps, filters used to observe and alter the stream of low-level user input events.
Quartz Reference 2007-10-31
Quartz Framework Reference (HTML) (PDF)
Describes the API for Quartz Composer, Image Kit, and PDF Kit.
Quartz Reference 2007-12-11
Quartz Programming Guide for QuickDraw Developers (HTML) (PDF)
Provides strategies to help Carbon programmers replace QuickDraw code with Quartz.
Carbon, Quartz Guides 2006-09-05
Quartz Reference Update (HTML) (PDF)
Summarizes the symbols added to the Quartz framework.
Quartz Release Notes 2007-07-18
Quartz Window Services Reference (HTML)
Describes the interface for capturing the contents of a window.
Carbon Reference 2009-01-15
Quartz2DBasics (HTML) (DMG) (ZIP)
Carbon and Cocoa sample code demonstrating some basic usage of the Quartz 2D API
Carbon, Cocoa, Quartz Sample Code 2006-09-11
QuartzCache (HTML) (DMG) (ZIP)
Demonstrates several caching techniques using CGBitmapContext, CGImageRef re-use, CGLayerRefs, CGImageSource.
Performance, Quartz Sample Code 2005-06-01
QuartzComposerSamplePatches (HTML) (DMG) (ZIP)
A short list of new patches in Quartz Composer Mac OS X 10.5
Cocoa, Quartz Sample Code 2007-06-11
QuartzLines (HTML) (DMG) (ZIP)
Drawing Lines using Quartz's CGPath & CGContextStrokeLineSegments functions.
Quartz Sample Code 2005-06-01
QuartzShapes (HTML) (DMG) (ZIP)
Example Quartz functions that implement equivalents to the QuickDraw PaintArc, FrameArc, PaintOval, FrameOval, PaintRect, and FrameRect
Carbon, Quartz Sample Code 2005-03-08
QuickDraw Reference (HTML) (PDF)
Describes the C API for the legacy two-dimensional drawing engine in Mac OS. Replaced by Quartz 2D.
Carbon Reference 2007-06-29
QuickDraw Text Anti-Aliasing using Quartz 2D (HTML) (日本語 HTML)
QA1193: Describes APIs added to Mac OS X to allow applications to draw QD text using CG anti-aliasing.
Carbon Technical Q&As 2002-10-29
QuickTime Compression and Decompression Guide (HTML) (PDF)
Describes the QuickTime data compression and decompression technologies.
QuickTime, Video Guides 2006-01-10
QuickTime Movie Creation Guide (HTML) (PDF)
Describes some of the different ways your application can create a new QuickTime movie.
Video Guides 2007-01-08
QuickTime Movie Playback Programming Guide (HTML) (PDF)
Describes how to open and play QuickTime movies using the Carbon and QuickTime API.
QuickTime Guides 2005-08-11
QuickTime Overview (HTML) (PDF)
Introduces the main concepts and services of QuickTime.
QuickTime, Video Guides 2005-08-11
QuickTime Texture Visual Context - kQTVisualContextNotAllowedErr with non-accelerated graphics cards (HTML)
QA1542: Discusses how to create a display mask and avoid a kQTVisualContextNotAllowedErr when using a non-accelerated graphics card.
OpenGL, QuickTime Technical Q&As 2007-09-18
QuickTime Visual Context - Setting the kQTVisualContextOutputColorSpaceKey Attribute (HTML)
QA1550: Describes how to configure a QuickTime OpenGL Texture Visual Context with the kQTVisualContextOutputColorSpaceKey attribute.
QuickTime Technical Q&As 2007-09-28
Real world profiling with the OpenGL Profiler (HTML)
TN2178: This document describes how to use OpenGL Profiler, a very powerful tool for your OpenGL development.
Games, OpenGL, Performance Technical Notes 2008-09-16
Reducer (HTML) (DMG) (ZIP)
Simple utility for rescaling bitmapped images. Demonstrates use of Core Image, NSAnimation, view drawing redirection.
Cocoa Sample Code 2005-06-06
Registering custom pixel formats with QuickTime and Core Video (HTML)
QA1401: Discusses how to register custom pixel formats with QuickTime & Core Video with QuickTime 7.
QuickTime Technical Q&As 2005-09-06
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
Carbon, Cocoa, Games, Hardware, Performance, Quartz Technical Q&As 2008-08-08
Resolution Independence Guidelines (HTML) (PDF)
Describes resolution independence and how to start updating applications to support high-resolution monitors.
Carbon, Cocoa Guides 2007-05-04
Resolution Independent UI Release Notes (HTML)
Quartz Release Notes 2005-04-29
Retain Counts of io_object_t Objects in IOKit.framework (HTML) (日本語 HTML)
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Printing Technical Q&As 2008-09-24
RGB ValueTransformers (HTML) (DMG) (ZIP)
Supersedes the "RGB Image sample". Sample now uses bindings. Color separation now done in an NSValueTransformer subclass.
Cocoa, Quartz Sample Code 2003-11-18
SampleScannerApp (HTML) (DMG) (ZIP)
This project implements a simple client accessing an ICA scanning device.
Carbon Sample Code 2008-05-07
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2001-10-02
SetCustomIcon (HTML) (DMG) (ZIP)
Demonstrates how to programmatically set a custom icon for a file, folder, or disk.
Carbon Sample Code 2006-08-01
Setting the ColorSync profile for a NSBitmapImageRep object (HTML)
QA1369: Setting the ColorSync profile for a NSBitmapImageRep object
Cocoa, ColorSync Technical Q&As 2004-09-08
Sharpening Full Scene Anti-Aliasing Details (HTML)
QA1268: Using full scene anti-aliasing (FSAA) in OpenGL applications.
OpenGL Technical Q&As 2003-10-10
Shearing a Coordinate Space with NSAffineTransform (HTML) (日本語 HTML)
QA1332: Describes a simple way to shear coordinate spaces by adding a few methods to the NSAffineTransform class.
Cocoa, Quartz Technical Q&As 2004-01-29
Son of Grab (HTML) (DMG) (ZIP)
Shows how to use the new CGWindow to get window images from the Window Server.
Carbon, Cocoa, Quartz Sample Code 2007-11-01