Ссылка CGGradient
Градиент определяет плавный переход между цветами через область. CGGradientRef
непрозрачный тип и функции, воздействующие на него, делают создание, и использование радиального и осевого градиента заполняет простую задачу. Объект CGGradient имеет цветовое пространство, два или больше цвета и расположение для каждого цвета. Цветовое пространство не может быть образцом или пространством индексированного цвета, иначе это может быть любое Кварцевое цветовое пространство (CGColorSpaceRef
).
Цвета могут быть предоставлены как значения компонентов (такой как красные, зеленые, синие) или как Кварцевые цветовые объекты (CGColorRef
). В Кварце компонент может варьироваться от 0,0 до 1,0, определяя пропорцию настоящего компонента в цвете.
Расположение является нормализованным значением. Когда это прибывает время для рисования градиента, Кварц отображает нормализованные значения расположения на точки в координатном пространстве, которое Вы обеспечиваете.
Если Вы хотите более точное управление градиентами, или если Ваше выполнение приложения в версиях OS X, которые являются ранее, чем v10.5, см. Ссылку CGShading.
-
Создает объект CGGradient из цветового пространства и предоставленных компонентов цвета и расположений.
Объявление
Swift
func CGGradientCreateWithColorComponents(_
space
: CGColorSpace!, _components
: UnsafePointer<CGFloat>, _locations
: UnsafePointer<CGFloat>, _count
: UInt) -> CGGradient!Objective C
CGGradientRef CGGradientCreateWithColorComponents ( CGColorSpaceRef space, const CGFloat components[], const CGFloat locations[], size_t count );
Параметры
space
Цветовое пространство для использования для градиента. Вы не можете использовать пространство индексированного цвета или образец.
components
Компоненты цвета для каждого цвета, определяющего градиент. Компоненты должны быть в цветовом пространстве, указанном
space
. Если Вы не уверены в числе компонентов, можно вызвать функциюCGColorSpaceGetNumberOfComponents
.Число элементов в этом массиве должно быть продуктом
count
и число компонентов в цветовом пространстве. Например, если цветовое пространство является цветовым пространством RGBA, и Вы хотите использовать два, раскрашивает градиент (один для стартового расположения и другого для конечного расположения), тогда необходимо обеспечить 8 значений вcomponents
— красный, зеленый, синий, и альфа оценивает за первый цвет, сопровождаемый красным, зеленым, синим цветом, и альфа-значения для второго цвета.locations
Расположение для каждого цвета обеспечило в
components
. Каждое расположение должно быть aCGFloat
значение в диапазоне от 0 до 1, включительно. Если 0 и 1 не находятся вlocations
массив, Кварц использует цвета при условии, что являются самыми близкими к 0 и 1 для тех расположений.Если
locations
NULL
, первые раскрашиваютcolors
присваивается расположению0
, последние раскрашиваютcolors
присваивается расположению1
, и прошедшие цвета являются присвоенными расположениями, которые являются в равных промежуточных интервалах.count
Число расположений обеспечило в
locations
параметры.Возвращаемое значение
Объект CGGradient.
Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в OS X v10.5 и позже.
-
Создает объект CGGradient из цветового пространства и предоставленных цветовых объектов и расположений.
Объявление
Swift
func CGGradientCreateWithColors(_
space
: CGColorSpace!, _colors
: CFArray!, _locations
: UnsafePointer<CGFloat>) -> CGGradient!Objective C
CGGradientRef CGGradientCreateWithColors ( CGColorSpaceRef space, CFArrayRef colors, const CGFloat locations[] );
Параметры
space
Цветовое пространство для использования для градиента. Вы не можете использовать пространство индексированного цвета или образец.
colors
Непустой массив объектов CGColor, которые должны быть в цветовом пространстве, указанном
space
. Еслиspace
неNULL
, каждый цвет будет преобразован (если необходимый) к тому цветовому пространству, и градиент будет нарисованный в том цветовом пространстве. Иначе, каждый цвет будет преобразован в и нарисован в цветовом пространстве GenericRGB.locations
Расположение для каждого цвета обеспечило в
colors
; каждое расположение должно быть aCGFloat
значение в диапазоне от 0 до 1, включительно. Если 0 и 1 не находятся вlocations
массив, Кварц использует цвета при условии, что являются самыми близкими к 0 и 1 для тех расположений.Если
locations
NULL
, первые раскрашиваютcolors
присваивается расположению0
, последние раскрашиваютcolors
присваивается расположению1
, и прошедшие цвета являются присвоенными расположениями, которые являются в равных промежуточных интервалах.locations
массив должен содержать то же число элементов какcolors
массив.Возвращаемое значение
Объект CGGradient.
Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в OS X v10.5 и позже.
-
Декременты сохранить количество объекта CGGradient.
Объявление
Objective C
void CGGradientRelease ( CGGradientRef gradient );
Параметры
gradient
Объект градиента выпустить.
Обсуждение
Эта функция эквивалентна
CFRelease
, за исключением того, что это не вызывает ошибку еслиgradient
параметрNULL
.Оператор импорта
Objective C
@import CoreGraphics;
Доступность
Доступный в версии 10.2 OS X и позже.
-
Инкременты сохранить количество объекта CGGradient.
Объявление
Objective C
CGGradientRef CGGradientRetain ( CGGradientRef gradient );
Параметры
gradient
Объект градиента сохранить.
Возвращаемое значение
Тот же градиент возражает, что Вы передали в как
gradient
параметр.Обсуждение
Эта функция эквивалентна
CFRetain
, за исключением того, что это не вызывает ошибку еслиgradient
параметрNULL
.Оператор импорта
Objective C
@import CoreGraphics;
Доступность
Доступный в версии 10.5 OS X и позже.
-
Возвращает Базовый идентификатор типа Основы для объектов CGGradient.
Объявление
Swift
func CGGradientGetTypeID() -> CFTypeID
Objective C
CFTypeID CGGradientGetTypeID ( void );
Возвращаемое значение
Базовый идентификатор Основы для непрозрачного типа
CGGradientRef
.Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в версии 10.5 OS X и позже.
-
Непрозрачный тип, представляющий Кварцевый градиент.
Объявление
Swift
typealias CGGradientRef = CGGradient
Objective C
typedef struct CGGradient *CGGradientRef;
Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в OS X v10.5 и позже.
-
Рисование расположений для градиентов.
Объявление
Swift
typealias CGGradientDrawingOptions = UInt32
Objective C
enum { kCGGradientDrawsBeforeStartLocation = (1 << 0), kCGGradientDrawsAfterEndLocation = (1 << 1) }; typedef enum CGGradientDrawingOptions CGGradientDrawingOptions;
Константы
-
kCGGradientDrawsBeforeStartLocation
kCGGradientDrawsBeforeStartLocation
Заливка должна расшириться вне стартового расположения. Цвет, расширяющийся вне начальной точки, является сплошным цветом, определенным объектом CGGradient быть в расположении 0.
Доступный в OS X v10.5 и позже.
-
kCGGradientDrawsAfterEndLocation
kCGGradientDrawsAfterEndLocation
Заливка должна расшириться вне конечного расположения. Цвет, расширяющийся вне конечной точки, является сплошным цветом, определенным объектом CGGradient быть в расположении 1.
Доступный в OS X v10.5 и позже.
Оператор импорта
Objective C
@import CoreGraphics;
Swift
import CoreGraphics
Доступность
Доступный в OS X v10.5 и позже.
-