Jump To:
Leopard Reference Library: Graphics & Imaging
Cocoa provides classes for custom drawing based on Quartz graphics, and utility functions for common graphics tasks such as copying and drawing bitmap data. To go beyond what Cocoa provides, developers can use the graphics and imaging frameworks in Mac OS X. Cocoa applications have access to a wide variety of graphics technologies including Quartz 2D, Quartz Services, OpenGL, QuickTime, and the Mac OS X printing system.

View all Cocoa Reference Library.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Resource Type
Sort by
Date
Animating the frame of a CALayer. (HTML)
QA1620: Explains how the frame property of a layer interacts with animations.
Technical Q&As 2008-10-24
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Guides 2008-10-15
Animation Programming Guide for Cocoa (HTML) (PDF)
Describes how to use Cocoa animation objects to enhance user interface transitions.
Guides 2006-05-23
Application Kit Framework Reference (HTML) (PDF)
Describes the interface for all things related to an application's user interface.
Reference 2008-11-19
Availability of Quartz Composer Patches in Web Kit (HTML)
QA1505: Details which Quartz Composer patches are available in Web Kit
Technical Q&As 2007-03-05
BasicCocoaAnimations (HTML) (DMG) (ZIP)
"BasicCocoaAnimations" demonstrates the use of the animator proxy to easily animate Cocoa views and windows.
Sample Code 2007-06-11
BoingX (HTML) (DMG) (ZIP)
Shows off using Quartz Extreme to provide borderless OpenGL content on the desktop.
Sample Code 2007-11-06
CAAction Protocol Reference (HTML) (PDF)
Describes the interface for receiving actions initiated by a layer.
Reference 2007-07-24
CAAnimation Class Reference (HTML) (PDF)
Describes the interface for managing the actions and timing of an animation.
Reference 2007-10-31
CAAnimationGroup Class Reference (HTML) (PDF)
Describes a grouping of multiple animations into a single animation.
Reference 2008-03-11
CABasicAnimation Class Reference (HTML) (PDF)
Describes the basic interpolation of a layer property.
Reference 2007-07-24
CAConstraint Class Reference (HTML) (PDF)
Describes a single geometric constraint between two layers.
Reference 2007-07-24
CAConstraintLayoutManager Class Reference (HTML) (PDF)
Describes a layout manager that applies a set of constraints to a layer tree.
Reference 2007-12-11
CAKeyframeAnimation Class Reference (HTML) (PDF)
Describes an animation that provides keyframe interpolation of a layer property.
Reference 2007-07-24
CALayer Class Reference (HTML) (PDF)
Describes a node of animated visual content.
Reference 2009-02-04
CALayerEssentials (HTML) (DMG) (ZIP)
Demonstrates the basics of setting up various Core Animation layers
Sample Code 2008-09-30
CALayoutManager Protocol Reference (HTML) (PDF)
Describes the interface for receiving requests to arrange a layout tree.
Reference 2007-07-24
CAMediaTiming Protocol Reference (HTML) (PDF)
Describes the interface for the time behavior of an animation.
Reference 2009-03-04
CAMediaTimingFunction Class Reference (HTML) (PDF)
Describes the pacing of an animation as a timing curve.
Reference 2008-07-11
CAOpenGLLayer Class Reference (HTML) (PDF)
Describes a layer that acts as a target for OpenGL commands.
Reference 2008-03-11
CAPropertyAnimation Class Reference (HTML) (PDF)
Describes the interface for manipulating values of layer properties.
Reference 2007-07-24
CarbonCocoaCoreImageTab (HTML) (DMG) (ZIP)
Carbon-based application creates a Cocoa-based web window which used CoreImage filters to transition between tabbed WebViews
Sample Code 2006-07-25
CarbonQuartzComposer_TV (HTML) (DMG) (ZIP)
Demonstrates how to integrate Cocoa based QuartzComposer window into a Carbon based application
Sample Code 2006-10-02
CARenderer Class Reference (HTML) (PDF)
Describes an object that draws a layer to a Core Graphics context.
Reference 2008-04-30
CAScrollLayer Class Reference (HTML) (PDF)
Describes a layer that displays a scrollable portion of another layer.
Reference 2007-07-24
CATextLayer Class Reference (HTML) (PDF)
Describes a layer that draws text.
Reference 2007-12-11
CATiledLayer Class Reference (HTML) (PDF)
Describes a layer that draws tiles of content as needed.
Reference 2007-07-24
CATransaction Class Reference (HTML) (PDF)
Describes a batch of Core Animation updates that are applied to a render tree atomically.
Reference 2007-07-24
CATransition Class Reference (HTML) (PDF)
Describes the class that provides transition animations to layers.
Reference 2007-10-31
CGBitmapContextCreate Supported Color Spaces (HTML)
QA1037: Lists the color space and alpha info combinations currently supported by CGBitmapContextCreate.
Technical Q&As 2007-07-18
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Technical Q&As 2001-07-02
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Technical Q&As 2001-10-02
CGDrawPicture (HTML) (DMG) (ZIP)
Deprecated - Shows how to use the QDPictDrawToCGContext API.
Sample Code 2003-01-14
CGImageRef contents are immutable (HTML) (日本語 HTML)
QA1276: Explains that CGImageRef contents are considered immutable once created.
Technical Q&As 2003-07-17
CIAnnotation (HTML) (DMG) (ZIP)
Image annotation application using Core Image Filters. Demonstrates creation and usage of Image Units.
Sample Code 2005-08-01
CIColor Additions Reference (HTML) (PDF)
Describes additions to support Cocoa color information.
Reference 2006-05-23
CIColor Class Reference (HTML) (PDF)
Describes the class used to manage color values and color spaces for Core Image filters.
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
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.
Reference 2007-03-16
CIFilter Class Reference (HTML) (PDF)
Describes the class that processes image data and produces a Core Image image as output.
Reference 2007-12-11
CIFilter Core Animation Additions (HTML) (PDF)
Describes the category that extends Core Image filters for use with Layer Kit.
Reference 2007-07-24
CIFilter Image Kit Additions (HTML) (PDF)
Describes the category that extends Core Image filters for use with Image Kit.
Reference 2006-12-06
CIFilterGenerator Class Reference (HTML) (PDF)
Describes the class that supports chaining together image processing filters.
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.
Reference 2006-12-07
CIImage Additions Reference (HTML) (PDF)
Describes additions for manipulating Cocoa images.
Reference 2007-06-08
CIImage Class Reference (HTML) (PDF)
Describes the class that represents an immutable Core Image image.
Reference 2007-10-31
CIImageAccumulator Class Reference (HTML) (PDF)
Describes the class that enables feedback-based image processing.
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.
Reference 2006-12-05
CIKernel Class Reference (HTML) (PDF)
Describes the class that operates on individual pixels using a kernel routine.
Reference 2006-12-05
CIPlugIn Class Reference (HTML) (PDF)
Describes the class that is responsible for loading image units.
Reference 2006-12-05
CIPlugInRegistration Protocol Reference (HTML) (PDF)
Describes the protocol used to load Core Image image units.
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.
Reference 2006-12-07
CITransitionSelectorSample2 (HTML) (DMG) (ZIP)
Showing all available Core Image transitions in a scrollable NSOpenGLView
Sample Code 2006-09-18
CIVector Class Reference (HTML) (PDF)
Describes the class used to pass parameter values to Core Image filters.
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.
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.
Sample Code 2003-07-17
Cocoa Drawing Guide (HTML) (PDF)
Explains how to use Cocoa to draw your application's user interface.
Guides 2009-01-06
CocoaSlides (HTML) (DMG) (ZIP)
An image browser written using AppKit's Core Animation-based compositing and animation functionality
Sample Code 2007-11-02
Color Management Overview (HTML) (PDF)
Introduces basic concepts and defines color spaces.
Guides 2005-07-07
Color Programming Topics for Cocoa (HTML) (PDF)
Explains how applications specify colors and how users choose colors in Cocoa.
Guides 2009-03-04
ColorBars (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, draw to, and release displays using the CGDirectDisplay API.
Sample Code 2003-01-14
ColorMatching (HTML) (DMG) (ZIP)
Performs simple color matching of images using ColorSync or the QuickTime 6.4 Graphics Importers.
Sample Code 2003-12-18
Core Animation Cookbook (HTML) (PDF)
Demonstrates common Core Animation tasks.
Guides 2008-03-11
Core Animation Function Reference (HTML) (PDF)
Describes the C functions that support Core Animation.
Reference 2007-07-24
Core Animation Programming Guide (HTML) (PDF)
Introduces the main components and services of Core Animation.
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.
Technical Q&As 2008-11-24
Core Animation QuickTime Layer (HTML) (DMG) (ZIP)
Shows the use of controls in a Layer over a Core Animation QTMovieLayer
Sample Code 2007-09-26
Core Animation Reference Collection (HTML) (PDF)
Describes the API for Core Animation.
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.
Release Notes 2007-05-31
Core Image Kernel Language Reference (HTML) (PDF)
Describes the symbols for writing image-processing kernels.
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.
Guides 2008-06-09
Core Image Reference Collection (HTML) (PDF)
Describes the Objective-C API for using and creating filters for image processing.
Reference 2006-12-05
CTMClip (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing with clipping.
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.
Sample Code 2003-01-14
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Technical Q&As 2001-07-02
Driving OpenGL Rendering Loops (HTML)
QA1385: Using Core Video display links (CVDisplayLink) or Cocoa timers (NSTimer) to drive an OpenGL rendering loop
Technical Q&As 2009-05-01
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
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.
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
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
Technical Q&As 2008-08-27
GLChildWindowDemo (HTML) (DMG) (ZIP)
Shows using Cocoa's child windows and Quartz Extreme to provide 2D/3D overlays above 3D content.
Sample Code 2003-04-21
GLSLShowpiece (HTML) (DMG) (ZIP)
GLSLShowpiece demonstrates several Vertex and Fragment shaders
Sample Code 2006-07-17
Grady (HTML) (DMG) (ZIP)
Demonstrates how to use the NSGradient class.
Sample Code 2007-02-28
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.
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.
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.
Technical Q&As 2004-10-11
How do I get the hexadecimal value of an NSColor object? (HTML)
QA1576: Describes how to convert an NSColor object to its Hexadecimal value.
Technical Q&As 2007-12-19
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.
Technical Q&As 2002-12-04
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Technical Q&As 2007-08-02
IKFilterBrowserPanel Class Reference (HTML) (PDF)
Describes the class that provides the panel contained in a filter browser.
Reference 2007-10-31
IKFilterBrowserView Class Reference (HTML) (PDF)
Describes the class that supports browsing Core Image filters.
Reference 2006-12-06
IKFilterCustomUIProvider Protocol Reference (HTML) (PDF)
Descibes the protocol that defines a method for providing a view for a filter.
Reference 2006-12-07
IKFilterUIView Class Reference (HTML) (PDF)
Describes the class that provides a user interface for Core Image filters.
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.
Reference 2007-07-17
IKImageBrowserDelegate Protocol Reference (HTML) (PDF)
Describes the informal protocol for the delegate of an image browser view.
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.
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.
Reference 2006-12-13
IKImageEditPanel Class Reference (HTML) (PDF)
Describes the class that provides a panel optimized for image editing.
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.
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.
Reference 2008-04-08