Framework

Core Graphics

Harness the power of Quartz technology to perform lightweight 2D rendering with high-fidelity output. Handle path-based drawing, anti-aliased rendering, gradients, images, color management, PDF documents, and more.

Overview

The Core Graphics framework is based on the Quartz advanced drawing engine. It provides low-level, lightweight 2D rendering with unmatched output fidelity. You use this framework to handle path-based drawing, transformations, color management, offscreen rendering, patterns, gradients and shadings, image data management, image creation, and image masking, as well as PDF document creation, display, and parsing.

In macOS, Core Graphics also includes services for working with display hardware, low-level user input events, and the windowing system.

Symbols

Classes

CGColor

A set of components that define a color, with a color space specifying how to interpret them.

CGColorConversionInfo
CGColorSpace

A profile that specifies how to interpret a color value for display.

CGContext

A Quartz 2D drawing environment.

CGDataConsumer

An abstraction for data-writing tasks that eliminates the need to manage a raw memory buffer.

CGDataProvider

An abstraction for data-reading tasks that eliminates the need to manage a raw memory buffer.

CGFont

A set of character glyphs and layout information for drawing text.

CGFunction

A general facility for defining and using callback functions.

CGGradient

A definition for a smooth transition between colors for drawing radial and axial gradient fills.

CGImage

A bitmap image or image mask.

CGLayer

An offscreen context for reusing content drawn with Core Graphics.

CGMutablePath

A mutable graphics path: a mathematical description of shapes or lines to be drawn in a graphics context.

CGPDFDocument

A document that contains PDF (Portable Document Format) drawing information.

CGPath

An immutable graphics path: a mathematical description of shapes or lines to be drawn in a graphics context.

CGPattern

A 2D pattern to be used for drawing graphics paths.

CGShading

A definition for a smooth transition between colors, controlled by a custom function you provide, for drawing radial and axial gradient fills.

Structures

CGAffineTransform

An affine transformation matrix for use in drawing 2D graphics.

CGFloat

The basic type for floating-point scalar values in Core Graphics and related frameworks.

CGPoint

A structure that contains a point in a two-dimensional coordinate system.

CGRect

A structure that contains the location and dimensions of a rectangle.

CGSize

A structure that contains width and height values.

CGVector

A structure that contains a two-dimensional vector.

Opaque Types

CGPDFArray

An array structure within a PDF document.

CGPDFContentStream

A representation of one or more content data streams in a PDF page.

CGPDFDictionary

A dictionary structure within a PDF document.

CGPDFObject

An object representing content within a PDF document.

CGPDFOperatorTable

A set of callback functions for operators used when scanning content in a PDF document.

CGPDFPage

A page in a PDF document.

CGPDFScanner

A parser object for handling content and operators in a PDF content stream.

CGPDFStream

A stream or sequence of data bytes in a PDF document.

CGPDFString

A text string in a PDF document.

Services

Quartz Display Services

Provides direct access to features in the macOS window server for configuring and controlling display hardware.

Quartz Event Services

Provides features for managing event taps—filters for observing and altering the stream of low-level user input events in macOS.

Quartz Window Services

Provides information about the windows managed by the macOS window server.

Extended Types

Double

A double-precision, floating-point value type.

Float

A single-precision, floating-point value type.

Int

A signed integer value type.

Int16

A 16-bit signed integer value type.

Int32

A 32-bit signed integer value type.

Int64

A 64-bit signed integer value type.

Int8

An 8-bit signed integer value type.

UInt

An unsigned integer value type.

UInt16

A 16-bit unsigned integer value type.

UInt32

A 32-bit unsigned integer value type.

UInt64

A 64-bit unsigned integer value type.

UInt8

An 8-bit unsigned integer value type.

Enumerations

See Also

Related Documentation