Ссылка CGPath
Графический контур является математическим описанием серии форм или строк. CGPathRef определяет непрозрачный тип, представляющий неизменный графический контур. CGMutablePathRef определяет непрозрачный тип, представляющий непостоянный графический контур. Ни один CGPathRef ни CGMutablePathRef определите функции для рисования пути. Для рисования Кварцевого пути к графическому контексту Вы добавляете путь к графическому контексту путем вызова CGContextAddPath и затем вызовите одну из функций получения контекста — см. Ссылку CGContext.
Каждое число в графическом контуре создается со связанным набором строк и кривых Bézier, названных подпутем. Подпуть имеет упорядоченный набор элементов пути, представляющих единственные шаги в конструкции подпути. (Например, линейный сегмент от одного угла прямоугольника к другому углу является элементом пути. Каждый подпуть включает начальную точку, которая является первой точкой по подпути. Путь также поддерживает текущую точку, которая является последней точкой по последнему подпути.
Для добавления нового подпути на непостоянный путь приложение обычно вызывает CGPathMoveToPoint установить начальную точку подпути и начальную текущую точку, сопровождаемую серией CGPathAdd* вызовы для добавления линейных сегментов и кривых к подпути. Поскольку сегменты или кривые добавляются к подпути, текущая точка подпути обновляется для указания до конца последнего сегмента или кривой, которая будет добавлена. Строки и кривые подпути всегда соединяются, но они не обязаны формировать замкнутое множество строк. Ваше приложение явно закрывает подпуть путем вызова CGPathCloseSubpath. Закрытие подпути добавляет линейный сегмент, завершающийся в начальной точке подпути, и также изменяющийся, как те строки представляются — для получения дополнительной информации посмотрите Пути в Кварце 2D Руководство по программированию.
-
Создает непостоянный графический контур.
Объявление
Swift
func CGPathCreateMutable() -> CGMutablePath!Objective C
CGMutablePathRef CGPathCreateMutable ( void );Возвращаемое значение
Новый непостоянный путь. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Создайте неизменный путь эллипса.
Объявление
Swift
func CGPathCreateWithEllipseInRect(_rect: CGRect, _transform: UnsafePointer<CGAffineTransform>) -> CGPath!Objective C
CGPathRef CGPathCreateWithEllipseInRect ( CGRect rect, const CGAffineTransform *transform );Параметры
rectПрямоугольник, ограничивающий эллипс.
transformУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к эллипсу, прежде чем это будет добавлено к пути.Возвращаемое значение
Новый, неизменный путь. Вы ответственны за выпуск этого объекта.
Обсуждение
Это - функция удобства, создающая путь эллипса. Используя это удобство функция более эффективна, чем создание непостоянного пути и добавление эллипса к нему.
Эллипс приближен последовательностью кривых Bézier. Его центр является средней точкой прямоугольника, определенного
rectпараметр. Если прямоугольник является квадратным, то эллипс является проспектом с радиусом, равным половине ширины (или высота) прямоугольника. Еслиrectпараметр указывает прямоугольную форму, тогда главные и незначительные оси эллипса определяются шириной и высотой прямоугольника.Эллипс формирует полный подпуть пути — т.е. получение эллипса запускается с перемещения - к работе и заканчивается работой подпути завершения всеми перемещениями, ориентированными в направлении по часовой стрелке. При предоставлении аффинного преобразования то созданные кривые Bézier, определяющие эллипс, преобразовываются, прежде чем они будут добавлены к пути.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.7 и позже.
-
Создайте неизменный путь прямоугольника.
Объявление
Swift
func CGPathCreateWithRect(_rect: CGRect, _transform: UnsafePointer<CGAffineTransform>) -> CGPath!Objective C
CGPathRef CGPathCreateWithRect ( CGRect rect, const CGAffineTransform *transform );Параметры
rectПрямоугольник для добавления.
transformУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к прямоугольнику, прежде чем это будет добавлено к пути.Возвращаемое значение
Новый, неизменный путь. Вы ответственны за выпуск этого объекта.
Обсуждение
Это - функция удобства, создающая путь прямоугольника. Используя это удобство функция более эффективна, чем создание непостоянного пути и добавление прямоугольника к нему.
Прямоугольник создается с помощью следующей последовательности операций:
// start at originCGPathMoveToPoint (path, transform, CGRectGetMinX(rect), CGRectGetMinY(rect));// add bottom edgeCGPathAddLineToPoint (path, transform, CGRectGetMaxX(rect), CGRectGetMinY(rect));// add right edgeCGPathAddLineToPoint (path, transform, CGRectGetMaxX(rect), CGRectGetMaxY(rect);// add top edgeCGPathAddLineToPoint (path, transform, CGRectGetMinX(rect), CGRectGetMaxY(rect));// add left edge and closeCGPathCloseSubpath (path);
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.5 и позже.
-
Создайте неизменный путь скругленного прямоугольника.
Объявление
Swift
func CGPathCreateWithRoundedRect(_rect: CGRect, _cornerWidth: CGFloat, _cornerHeight: CGFloat, _transform: UnsafePointer<CGAffineTransform>) -> CGPath!Objective C
CGPathRef CGPathCreateWithRoundedRect ( CGRect rect, CGFloat cornerWidth, CGFloat cornerHeight, const CGAffineTransform *transform );Параметры
rectПрямоугольник для добавления.
cornerWidthШирина разделов скругленного угла.
cornerHeightВысота разделов скругленного угла.
transformУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к прямоугольнику, прежде чем это будет добавлено к пути.Возвращаемое значение
Новый, неизменный путь. Вы ответственны за выпуск этого объекта.
Обсуждение
Это - функция удобства, создающая путь скругленного прямоугольника. Используя это удобство функция более эффективна, чем создание непостоянного пути и добавление прямоугольника к нему.
Каждый угол скругленного прямоугольника является одной четвертью эллипса с осями, равными
cornerWidthиcornerHeightпараметры. Скругленный прямоугольник формирует полный подпуть и ориентирован в направлении по часовой стрелке.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.9 и позже.
-
Создает неизменную копию графического контура.
Объявление
Swift
func CGPathCreateCopy(_path: CGPath!) -> CGPath!Параметры
pathПуть к копии.
Возвращаемое значение
Новая, неизменная копия указанного пути. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Создает неизменную копию графического контура, преобразованного матрицей преобразования.
Объявление
Swift
func CGPathCreateCopyByTransformingPath(_path: CGPath!, _transform: UnsafePointer<CGAffineTransform>) -> CGPath!Objective C
CGPathRef CGPathCreateCopyByTransformingPath ( CGPathRef path, const CGAffineTransform *transform );Параметры
pathПуть к копии.
transformУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию ко всем элементам нового пути.Возвращаемое значение
Новая, неизменная копия пути. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.7 и позже.
-
Создает штриховую копию другого пути.
Объявление
Swift
func CGPathCreateCopyByDashingPath(_path: CGPath!, _transform: UnsafePointer<CGAffineTransform>, _phase: CGFloat, _lengths: UnsafePointer<CGFloat>, _count: UInt) -> CGPath!Objective C
CGPathRef CGPathCreateCopyByDashingPath ( CGPathRef path, const CGAffineTransform *transform, CGFloat phase, const CGFloat *lengths, size_t count );Параметры
pathПуть к копии.
transformУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к элементам преобразованного пути прежде, чем добавить их к новому пути.phaseЗначение, указывающее, как далеко в пунктирный узор строка запускается в модулях пространства пользователя. Например, передавая значение
3означает, что линия проведена с пунктирным узором, запускающимся в трех модулях с его начала. Передача значения0чертит линию начиная с начала пунктирного узора.lengthsМассив значений, указывающих длины нарисованных сегментов и непокрашенных сегментов, соответственно, пунктирного узора — или
NULLни для какого пунктирного узора.Например, передавая массив со значениями
[2,3]устанавливает пунктирный узор, чередующий между 2 пользовательскими модулями пространства долго красившийся сегмент и 3 пользовательскими модулями пространства длинный непокрашенный сегмент. Передача значений[1,3,4,2]устанавливает образец в 1 модуль нарисованный сегмент, непокрашенный сегмент с 3 модулями, нарисованный сегмент с 4 модулями и непокрашенный сегмент с 2 модулями.countЕсли
lengthsпараметр указывает массив, передайте число элементов в массиве. Иначе, передача0.Возвращаемое значение
Новый, неизменный путь. Вы ответственны за выпуск этого объекта.
Обсуждение
Новый путь создается так, чтобы заполнение нового пути нарисовало те же пиксели как перечеркивание первоначального тракта с указанными параметрами тире.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.7 и позже.
-
Создает перечеркиваемую копию другого пути.
Объявление
Swift
func CGPathCreateCopyByStrokingPath(_path: CGPath!, _transform: UnsafePointer<CGAffineTransform>, _lineWidth: CGFloat, _lineCap: CGLineCap, _lineJoin: CGLineJoin, _miterLimit: CGFloat) -> CGPath!Objective C
CGPathRef CGPathCreateCopyByStrokingPath ( CGPathRef path, const CGAffineTransform *transform, CGFloat lineWidth, CGLineCap lineCap, CGLineJoin lineJoin, CGFloat miterLimit );Параметры
pathПуть к копии.
transformУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к элементам преобразованного пути прежде, чем добавить их к новому пути.lineWidthШирина строки для использования, в модулях пространства пользователя. Значение должно быть больше, чем
0.lineCapПостоянный стиль окончания линии —
kCGLineCapButt(значение по умолчанию),kCGLineCapRound, илиkCGLineCapSquare. Посмотрите“CGLineCap”.lineJoinЗначение соединения строки —
kCGLineJoinMiter(значение по умолчанию),kCGLineJoinRound, илиkCGLineJoinBevel. Посмотрите“CGLineJoin”.miterLimitПредельный угол стыка для использования.
Возвращаемое значение
Новый, неизменный путь. Вы ответственны за выпуск этого объекта.
Обсуждение
Новый путь создается так, чтобы заполнение нового пути нарисовало те же пиксели как перечеркивание первоначального тракта.
Если стиль соединения строки установлен в
kCGLineJoinMiter, Кварц использует предельный угол стыка, чтобы определить, нужно ли к строкам присоединиться со скосом вместо среза. Кварц делит длину среза шириной строки. Если результат больше, чем предельный угол стыка, Кварц преобразовывает стиль в скос.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.7 и позже.
-
Создает непостоянную копию существующего графического контура.
Объявление
Swift
func CGPathCreateMutableCopy(_path: CGPath!) -> CGMutablePath!Objective C
CGMutablePathRef CGPathCreateMutableCopy ( CGPathRef path );Параметры
pathПуть к копии.
Возвращаемое значение
Новое, непостоянное, копия указанного пути. Вы ответственны за выпуск этого объекта.
Обсуждение
Можно изменить непостоянный графический контур путем вызывания различных функций геометрии CGPath, такой как
CGPathAddArc,CGPathAddLineToPoint, иCGPathMoveToPoint.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Создает непостоянную копию графического контура, преобразованного матрицей преобразования.
Объявление
Swift
func CGPathCreateMutableCopyByTransformingPath(_path: CGPath!, _transform: UnsafePointer<CGAffineTransform>) -> CGMutablePath!Objective C
CGMutablePathRef CGPathCreateMutableCopyByTransformingPath ( CGPathRef path, const CGAffineTransform *transform );Параметры
pathПуть к копии.
transformУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию ко всем элементам нового пути.Возвращаемое значение
Новая, непостоянная копия указанного пути, преобразованного параметром преобразования. Вы ответственны за выпуск этого объекта.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.7 и позже.
-
Декременты сохранить количество графического контура.
Объявление
Objective C
void CGPathRelease ( CGPathRef path );Параметры
pathГрафический контур для выпуска.
Обсуждение
Эта функция эквивалентна
CFRelease, за исключением того, что это не вызывает ошибку еслиpathпараметрNULL.Оператор импорта
Objective C
@import CoreGraphics;Доступность
Доступный в OS X v10.2 и позже.
-
Инкременты сохранить количество графического контура.
Параметры
pathГрафический контур для сохранения.
Возвращаемое значение
Тот же путь Вы передали в как
pathпараметр.Обсуждение
Эта функция эквивалентна
CFRetain, за исключением того, что это не вызывает ошибку еслиpathпараметрNULL.Оператор импорта
Objective C
@import CoreGraphics;Доступность
Доступный в OS X v10.2 и позже.
-
Добавляет дугу к непостоянному графическому контуру, которому возможно предшествует сегмент прямой линии.
Объявление
Swift
func CGPathAddArc(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _x: CGFloat, _y: CGFloat, _r: CGFloat, _startAngle: CGFloat, _endAngle: CGFloat, _clockwise: Bool)Objective C
void CGPathAddArc ( CGMutablePathRef path, const CGAffineTransform *m, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, bool clockwise );Параметры
pathНепостоянный графический контур для изменения.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к дуге, прежде чем это будет добавлено к пути.xX-координата центральной точки дуги.
yY-координата центральной точки дуги.
rРадиус дуги.
startAngleУгол (в радианах), который определяет начальную точку дуги, измеренной от оси X в текущем пространстве пользователя.
endAngleУгол (в радианах), который определяет конечную точку дуги, измеренной от оси X в текущем пространстве пользователя.
clockwiseБулево значение, указывающее, нарисовать ли дугу в направлении по часовой стрелке, прежде, чем применить матрицу преобразования.
Обсуждение
Дуга является сегментом круга с радиусом r центрируемый в точке
(x,y). Когда Вы вызываете эту функцию, Вы обеспечиваете центральную точку, радиус и два угла в радианах. Кварц использует эту информацию для определения конечных точек дуги, и затем приближает новую дугу с помощью последовательности кубических кривых Bézier.clockwiseпараметр определяет направление, в котором создается дуга. Фактическое направление может измениться в зависимости от трансформации системы координат, применился к пути.Трансформация может быть применена к кривым Bézier, прежде чем они будут добавлены к пути. Если никакие не преобразовывают, необходим, второй параметр должен быть
NULL.Если указанный путь уже содержит подпуть, Кварц неявно добавляет строку, подключающую текущую точку подпути к началу дуги. Если путь пуст, Кварц создает новый подпуть с набором начальной точки к начальной точке дуги.
Конечная точка дуги становится новой текущей точкой пути.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет дугу к непостоянному графическому контуру, которому возможно предшествует сегмент прямой линии.
Объявление
Swift
func CGPathAddRelativeArc(_path: CGMutablePath!, _matrix: UnsafePointer<CGAffineTransform>, _x: CGFloat, _y: CGFloat, _radius: CGFloat, _startAngle: CGFloat, _delta: CGFloat)Objective C
void CGPathAddRelativeArc ( CGMutablePathRef path, const CGAffineTransform *matrix, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat delta );Параметры
pathНепостоянный графический контур для изменения.
matrixУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к дуге, прежде чем это будет добавлено к пути.xX-координата центральной точки дуги.
yY-координата центральной точки дуги.
radiusРадиус дуги.
startAngleУгол (в радианах), который определяет начальную точку дуги, измеренной от оси X в текущем пространстве пользователя.
deltaРасстояние дуга должно переместиться (в радианах). Положительное значение указывает против часовой стрелки дуга в текущем пространстве пользователя.
Обсуждение
Угол к второй конечной точке дуги вычисляется путем добавления дельты к углу запуска.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.7 и позже.
-
Добавляет дугу к непостоянному графическому контуру, которому возможно предшествует сегмент прямой линии.
Объявление
Swift
func CGPathAddArcToPoint(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _x1: CGFloat, _y1: CGFloat, _x2: CGFloat, _y2: CGFloat, _radius: CGFloat)Objective C
void CGPathAddArcToPoint ( CGMutablePathRef path, const CGAffineTransform *m, CGFloat x1, CGFloat y1, CGFloat x2, CGFloat y2, CGFloat radius );Параметры
pathНепостоянный путь к изменению. Путь не должен быть пустым.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к дуге, прежде чем это будет добавлено к пути.x1X-координата пространства пользователя для конечной точки первой строки касательной. Первая линия касательной проведена от текущей точки до
(x1,y1).y1Y-координата пространства пользователя для конечной точки первой строки касательной. Первая линия касательной проведена от текущей точки до
(x1,y1).x2X-координата пространства пользователя для конечной точки второй строки касательной. Вторая линия касательной проведена от
(x1,y1)к(x2,y2).y2Y-координата пространства пользователя для конечной точки второй строки касательной. Вторая линия касательной проведена от
(x1,y1)к(x2,y2).radiusРадиус дуги, в координатах пространства пользователя.
Обсуждение
Эта функция использует последовательность кубических кривых Bézier для создания дуги, которая является касательной к строке от текущей точки до (x1, y1) и к строке от (x1, y1) к (x2, y2). Запуск и конечные точки дуги расположены на первых и вторых строках касательной, соответственно. Запуск и конечные точки дуги являются также “точками касательной” строк.
Если текущая точка и первая точка касательной дуги (начальная точка) не равны, Кварц добавляет сегмент прямой линии от текущей точки до первой точки касательной.
Конечная точка дуги становится новой текущей точкой пути.
Для другого способа нарисовать дугу по пути, посмотрите
CGPathAddArc.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет кубическую кривую Bézier к непостоянному графическому контуру.
Объявление
Swift
func CGPathAddCurveToPoint(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _cp1x: CGFloat, _cp1y: CGFloat, _cp2x: CGFloat, _cp2y: CGFloat, _x: CGFloat, _y: CGFloat)Objective C
void CGPathAddCurveToPoint ( CGMutablePathRef path, const CGAffineTransform *m, CGFloat cp1x, CGFloat cp1y, CGFloat cp2x, CGFloat cp2y, CGFloat x, CGFloat y );Параметры
pathНепостоянный путь к изменению. Путь не должен быть пустым.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к кривой, прежде чем это будет добавлено к пути.cp1xX-координата первой контрольной точки.
cp1yY-координата первой контрольной точки.
cp2xX-координата второй контрольной точки.
cp2yY-координата второй контрольной точки.
xX-координата конечной точки кривой.
yY-координата конечной точки кривой.
Обсуждение
Добавляет кубическую кривую Bézier от текущей точки по пути к указанному расположению с помощью двух контрольных точек, после дополнительной трансформации. Перед возвратом эта функция обновляет текущую точку к указанному расположению
(x,y).Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет массив сегментов новой строки к непостоянному графическому контуру.
Объявление
Swift
func CGPathAddLines(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _points: UnsafePointer<CGPoint>, _count: UInt)Objective C
void CGPathAddLines ( CGMutablePathRef path, const CGAffineTransform *m, const CGPoint points[], size_t count );Параметры
pathНепостоянный путь к изменению.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к строкам прежде, чем добавить их к пути.pointsМассив точек, указывающий линейные сегменты для добавления.
countЧисло элементов в массиве.
Обсуждение
Это - функция удобства, добавляющая последовательность связанных линейных сегментов к пути, с помощью следующей работы:
CGPathMoveToPoint (path, m, points[0].x, points[0].y);for (k = 1; k < count; k++) {CGPathAddLineToPoint (path, m, points[k].x, points[k].y);}
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет линейный сегмент к непостоянному графическому контуру.
Объявление
Swift
func CGPathAddLineToPoint(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _x: CGFloat, _y: CGFloat)Objective C
void CGPathAddLineToPoint ( CGMutablePathRef path, const CGAffineTransform *m, CGFloat x, CGFloat y );Параметры
pathНепостоянный путь к изменению. Путь не должен быть пустым.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к строке, прежде чем это будет добавлено к пути.xX-координата конечной точки строки.
yY-координата конечной точки строки.
Обсуждение
Перед возвратом эта функция обновляет текущую точку к указанному расположению
(x,y).Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет путь к на непостоянный графический контур.
Объявление
Swift
func CGPathAddPath(_path1: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _path2: CGPath!)Objective C
void CGPathAddPath ( CGMutablePathRef path1, const CGAffineTransform *m, CGPathRef path2 );Параметры
path1Непостоянный путь к изменению.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию кpath2прежде чем это будет добавлено кpath1.path2Путь для добавления.
Обсуждение
Если исходный путь непуст, то его элементы пути добавляются в порядке на непостоянный путь. После того, как вызов завершается, стартовая точка и текущая точка пути являются теми из последнего подпути в
path2.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет квадратичную кривую Bézier к непостоянному графическому контуру.
Объявление
Swift
func CGPathAddQuadCurveToPoint(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _cpx: CGFloat, _cpy: CGFloat, _x: CGFloat, _y: CGFloat)Objective C
void CGPathAddQuadCurveToPoint ( CGMutablePathRef path, const CGAffineTransform *m, CGFloat cpx, CGFloat cpy, CGFloat x, CGFloat y );Параметры
pathНепостоянный путь к изменению. Путь не должен быть пустым.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к кривой прежде, чем добавить его к пути.cpxX-координата контрольной точки.
cpyY-координата контрольной точки.
xX-координата конечной точки кривой.
yY-координата конечной точки кривой.
Обсуждение
Перед возвратом эта функция обновляет текущую точку к указанному расположению
(x, y).Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет прямоугольник к непостоянному графическому контуру.
Объявление
Swift
func CGPathAddRect(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _rect: CGRect)Objective C
void CGPathAddRect ( CGMutablePathRef path, const CGAffineTransform *m, CGRect rect );Параметры
pathНепостоянный путь к изменению.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к прямоугольнику прежде, чем добавить его к пути.rectПрямоугольник для добавления.
Обсуждение
Это - функция удобства, добавляющая прямоугольник к пути, с помощью следующей последовательности операций:
// start at originCGPathMoveToPoint (path, m, CGRectGetMinX(rect), CGRectGetMinY(rect));// add bottom edgeCGPathAddLineToPoint (path, m, CGRectGetMaxX(rect), CGRectGetMinY(rect));// add right edgeCGPathAddLineToPoint (path, m, CGRectGetMaxX(rect), CGRectGetMaxY(rect);// add top edgeCGPathAddLineToPoint (path, m, CGRectGetMinX(rect), CGRectGetMaxY(rect));// add left edge and closeCGPathCloseSubpath (path);
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет массив прямоугольников к непостоянному графическому контуру.
Объявление
Swift
func CGPathAddRects(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _rects: UnsafePointer<CGRect>, _count: UInt)Objective C
void CGPathAddRects ( CGMutablePathRef path, const CGAffineTransform *m, const CGRect rects[], size_t count );Параметры
pathНепостоянный путь к изменению.
mМатрица аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к прямоугольникам прежде, чем добавить их к пути.rectsМассив новых прямоугольников для добавления.
countЧисло элементов в массиве.
Обсуждение
Это - функция удобства, добавляющая массив прямоугольников к пути, с помощью следующей работы:
for (k = 0; k < count; k++) {CGPathAddRect (path, m, rects[k]);}
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет скругленный прямоугольник к непостоянному графическому контуру.
Объявление
Swift
func CGPathAddRoundedRect(_path: CGMutablePath!, _transform: UnsafePointer<CGAffineTransform>, _rect: CGRect, _cornerWidth: CGFloat, _cornerHeight: CGFloat)Objective C
void CGPathAddRoundedRect ( CGMutablePathRef path, const CGAffineTransform *transform, CGRect rect, CGFloat cornerWidth, CGFloat cornerHeight );Параметры
pathНепостоянный путь к изменению.
transformУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к прямоугольнику прежде, чем добавить его к пути.rectПрямоугольник для добавления.
cornerWidthШирина разделов скругленного угла.
cornerHeightВысота разделов скругленного угла.
Обсуждение
Это - функция удобства, добавляющая путь скругленного прямоугольника.
Каждый угол скругленного прямоугольника является одной четвертью эллипса с осями, равными
cornerWidthиcornerHeightпараметры. Скругленный прямоугольник формирует полный подпуть и ориентирован в направлении по часовой стрелке.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.9 и позже.
-
Для каждого элемента в графическом контуре, вызывает пользовательскую applier функцию.
Объявление
Swift
func CGPathApply(_path: CGPath!, _info: UnsafeMutablePointer<Void>, _function: CGPathApplierFunction)Objective C
void CGPathApply ( CGPathRef path, void *info, CGPathApplierFunction function );Параметры
pathПуть, к которому будет применена функция.
infoУказатель на пользовательские данные, которые Кварц передаст функции, применяемой, или
NULL.functionУказатель на функцию для применения. Посмотрите
CGPathApplierFunctionдля получения дополнительной информации.Обсуждение
Для каждого элемента по указанному пути Кварц вызывает applier функцию, которая может исследовать (но не изменить), элемент.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Запускает новый подпуть в указанном расположении в непостоянном графическом контуре.
Объявление
Swift
func CGPathMoveToPoint(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _x: CGFloat, _y: CGFloat)Objective C
void CGPathMoveToPoint ( CGMutablePathRef path, const CGAffineTransform *m, CGFloat x, CGFloat y );Параметры
pathНепостоянный путь к изменению.
mУказатель на матрицу аффинного преобразования, или
NULLесли не необходима никакая трансформация. Если указано, Кварц применяет трансформацию к точке прежде, чем изменить путь.xX-координата нового расположения.
yY-координата нового расположения.
Обсуждение
Эта функция заканчивает подпуть, уже происходящий (если таковые имеются), и запускает новый подпуть, инициализируя начальную точку и текущую точку к указанному расположению (x, y) после дополнительной трансформации.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Завершения и завершают подпуть в непостоянном графическом контуре.
Объявление
Swift
func CGPathCloseSubpath(_path: CGMutablePath!)Objective C
void CGPathCloseSubpath ( CGMutablePathRef path );Параметры
pathПуть к изменению.
Обсуждение
Добавляет строку от текущей точки до начальной точки текущего подпути и заканчивает подпуть.
После закрытия подпути Ваше приложение может начать новый подпуть без первого вызова
CGPathMoveToPoint. В этом случае новый подпуть неявно создается с начальной и текущей точкой, равной начальной точке предыдущего подпути.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Добавляет к пути эллипс, соответствующий в прямоугольнике.
Объявление
Swift
func CGPathAddEllipseInRect(_path: CGMutablePath!, _m: UnsafePointer<CGAffineTransform>, _rect: CGRect)Objective C
void CGPathAddEllipseInRect ( CGMutablePathRef path, const CGAffineTransform *m, CGRect rect );Параметры
pathПуть для изменения.
mАффинное преобразование для применения к эллипсу, или
NULLесли Вы не хотите преобразовывать эллипс.rectПрямоугольник для включения эллипса.
Обсуждение
Эллипс приближен последовательностью кривых Bézier. Его центр является средней точкой прямоугольника, определенного
rectпараметр. Если прямоугольник является квадратным, то эллипс является проспектом с радиусом, равным половине ширины (или высота) прямоугольника. Еслиrectпараметр указывает прямоугольную форму, тогда главные и незначительные оси эллипса определяются шириной и высотой прямоугольника.Эллипс формирует полный подпуть пути — т.е. получение эллипса запускается с перемещения - к работе и заканчивается работой подпути завершения всеми перемещениями, ориентированными в направлении по часовой стрелке. При предоставлении аффинного преобразования то созданные кривые Bézier, определяющие эллипс, преобразовываются, прежде чем они будут добавлены к пути.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.4 и позже.
-
Указывает, эквивалентны ли два графических контура.
Объявление
Swift
func CGPathEqualToPath(_path1: CGPath!, _path2: CGPath!) -> BoolПараметры
path1Первый сравниваемый путь.
path2Второй сравниваемый путь.
Возвращаемое значение
Булево значение, указывающее, содержат ли два указанных пути ту же последовательность элементов пути. Если пути не являются тем же, возвратами
false.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает ограничительную рамку, содержащую все точки в графическом контуре.
Объявление
Swift
func CGPathGetBoundingBox(_path: CGPath!) -> CGRectПараметры
pathГрафический контур для оценки.
Возвращаемое значение
Прямоугольник, представляющий ограничительную рамку указанного пути. Если путь пуст, эта функция возвраты
CGRectNull.Обсуждение
Ограничительная рамка является наименьшим прямоугольником, полностью включающим все точки в путь, включая контрольные точки для Bézier и квадратичных кривых.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Возвращает ограничительную рамку графического контура.
Объявление
Swift
func CGPathGetPathBoundingBox(_path: CGPath!) -> CGRectПараметры
pathГрафический контур для оценки.
Возвращаемое значение
Прямоугольник, представляющий ограничительную рамку пути указанного пути. Если путь пуст, эта функция возвраты
CGRectNull.Обсуждение
Ограничительная рамка пути является наименьшим прямоугольником, полностью включающим все точки в путь, но не включая контрольные точки для Bézier и квадратичных кривых.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвращает текущую точку в графическом контуре.
Объявление
Swift
func CGPathGetCurrentPoint(_path: CGPath!) -> CGPointПараметры
pathПуть для оценки.
Возвращаемое значение
Текущая точка по указанному пути.
Обсуждение
Если путь пуст — т.е. если он не имеет никаких элементов — эта функция возвраты
CGPointZero(см. Ссылку CGGeometry). Чтобы определить, пуст ли путь, использоватьCGPathIsEmpty.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает Базовый идентификатор типа Основы для Кварцевых графических контуров.
Возвращаемое значение
Базовый идентификатор Основы для непрозрачного типа
CGPathRef.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Указывает, пуст ли графический контур.
Объявление
Swift
func CGPathIsEmpty(_path: CGPath!) -> BoolObjective C
bool CGPathIsEmpty ( CGPathRef path );Параметры
pathПуть для оценки.
Возвращаемое значение
Булево значение, указывающее, пуст ли указанный путь.
Обсуждение
Пустой путь не содержит элементов.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Указывает, представляет ли графический контур прямоугольник.
Объявление
Swift
func CGPathIsRect(_path: CGPath!, _rect: UnsafeMutablePointer<CGRect>) -> BoolПараметры
pathПуть для оценки.
rectНа вводе, указателе на неинициализированный прямоугольник. Если указанный путь представляет прямоугольник, по возврату содержит копию прямоугольника.
Возвращаемое значение
Булево значение, указывающее, представляет ли указанный путь прямоугольник. Если путь представляет прямоугольник, возвраты
true.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Проверки, содержится ли точка в графическом контуре.
Объявление
Swift
func CGPathContainsPoint(_path: CGPath!, _m: UnsafePointer<CGAffineTransform>, _point: CGPoint, _eoFill: Bool) -> BoolObjective C
bool CGPathContainsPoint ( CGPathRef path, const CGAffineTransform *m, CGPoint point, bool eoFill );Параметры
pathПуть для оценки точки против.
mАффинное преобразование. Если
mнеNULLтогда точка преобразовывается этим аффинным преобразованием до определения, содержит ли путь точку.pointТочка для проверки.
eoFillБулево значение это, если
true, указывает для использования ровно-нечетного правила заливки оценить нарисованную область пути. Еслиfalse, вьющееся правило заливки используется.Возвращаемое значение
Возвраты
trueесли точка содержится в пути;falseиначе.Обсуждение
Точка содержится в пути, если это было бы в нарисованной области, когда путь заполнен.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.4 и позже.
-
Определяет функцию обратного вызова, которая может просмотреть элемент в графическом контуре.
Объявление
Swift
typealias CGPathApplierFunction = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafePointer<CGPathElement>) -> Void)>Objective C
typedef void (*CGPathApplierFunction) ( void *info, const CGPathElement *element );Обсуждение
См. также
CGPathApply.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Непрозрачный тип, представляющий неизменный графический контур.
Объявление
Swift
typealias CGPathRef = CGPathObjective C
typedef const struct CGPath *CGPathRef;Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Непрозрачный тип, представляющий непостоянный графический контур.
Объявление
Swift
typealias CGMutablePathRef = CGMutablePathObjective C
typedef struct CGPath *CGMutablePathRef;Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
Структура данных, предоставляющая информацию об элементе пути.
Объявление
Swift
struct CGPathElement { var type: CGPathElementType var points: UnsafeMutablePointer<CGPoint> }Objective C
struct CGPathElement { CGPathElementType type; CGPoint * points; }; typedef struct CGPathElement CGPathElement;Поля
typeТип элемента (или работа).
pointsМассив одной или более точек, служащих параметрами.
Доступность
Доступный в OS X v10.2 и позже.
-
Опции для рендеринга пути.
Объявление
Swift
struct CGPathDrawingMode { init(_value: UInt32) var value: UInt32 }Objective C
enum CGPathDrawingMode { kCGPathFill, kCGPathEOFill, kCGPathStroke, kCGPathFillStroke, kCGPathEOFillStroke }; typedef enum CGPathDrawingMode CGPathDrawingMode;Константы
-
kCGPathFillkCGPathFillПредставьте область, содержавшую в пути с помощью ненулевого вьющегося правила числа.
Доступный в OS X v10.0 и позже.
-
kCGPathEOFillkCGPathEOFillПредставьте область в пути с помощью ровно-нечетного правила.
Доступный в OS X v10.0 и позже.
-
kCGPathStrokekCGPathStrokeПредставьте строку вдоль пути.
Доступный в OS X v10.0 и позже.
-
kCGPathFillStrokekCGPathFillStrokeСначала заливка и затем перечеркивает путь, с помощью ненулевого вьющегося правила числа.
Доступный в OS X v10.0 и позже.
-
kCGPathEOFillStrokekCGPathEOFillStrokeСначала заливка и затем перечеркивает путь, с помощью ровно-нечетного правила.
Доступный в OS X v10.0 и позже.
Обсуждение
Можно передать режим рисования пути, постоянный функции
CGContextDrawPathуказать, как Кварц должен нарисовать текущий путь графического контекста.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.0 и позже.
-
-
Тип элемента найден по пути.
Объявление
Swift
struct CGPathElementType { init(_value: UInt32) var value: UInt32 }Objective C
enum CGPathElementType { kCGPathElementMoveToPoint, kCGPathElementAddLineToPoint, kCGPathElementAddQuadCurveToPoint, kCGPathElementAddCurveToPoint, kCGPathElementCloseSubpath }; typedef enum CGPathElementType CGPathElementType;Константы
-
kCGPathElementMoveToPointkCGPathElementMoveToPointЭлемент пути, запускающий новый подпуть. Элемент содержит единственную точку для места назначения. Посмотрите функцию
CGPathMoveToPoint.Доступный в OS X v10.2 и позже.
-
kCGPathElementAddLineToPointkCGPathElementAddLineToPointЭлемент пути, добавляющий строку от текущей точки до новой точки. Элемент содержит единственную точку для места назначения. Посмотрите функцию
CGPathAddLineToPoint.Доступный в OS X v10.2 и позже.
-
kCGPathElementAddQuadCurveToPointkCGPathElementAddQuadCurveToPointЭлемент пути, добавляющий квадратичную кривую от текущей точки до указанной точки. Элемент содержит контрольную точку и пункт назначения. Посмотрите функцию
CGPathAddQuadCurveToPoint.Доступный в OS X v10.2 и позже.
-
kCGPathElementAddCurveToPointkCGPathElementAddCurveToPointЭлемент пути, добавляющий кубическую кривую от текущей точки до указанной точки. Элемент содержит две контрольных точки и пункт назначения. Посмотрите функцию
CGPathAddCurveToPoint.Доступный в OS X v10.2 и позже.
-
kCGPathElementCloseSubpathkCGPathElementCloseSubpathЭлемент пути, закрывающий и завершающий подпуть. Элемент не содержит точек. Посмотрите функцию
CGPathCloseSubpath.Доступный в OS X v10.2 и позже.
Обсуждение
Для получения дополнительной информации о путях, посмотрите
CGPathRef.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.2 и позже.
-
-
Стили для рендеринга конечной точки перечеркиваемой строки.
Объявление
Swift
struct CGLineCap { init(_value: UInt32) var value: UInt32 }Objective C
enum CGLineCap { kCGLineCapButt, kCGLineCapRound, kCGLineCapSquare }; typedef enum CGLineCap CGLineCap;Константы
-
kCGLineCapButtkCGLineCapButtСтрока с в квадрате - от конца. Кварц разграничивает для расширения только на точную конечную точку пути. Это - значение по умолчанию.
Доступный в OS X v10.0 и позже.
-
kCGLineCapRoundkCGLineCapRoundСтрока с округленным концом. Кварц разграничивает для расширения вне конечной точки пути. Концы строки с полукруглой дугой с радиусом 1/2 ширина строки, центрируемая на конечной точке.
Доступный в OS X v10.0 и позже.
-
kCGLineCapSquarekCGLineCapSquareСтрока с в квадрате - от конца. Кварц расширяет строку вне конечной точки пути для расстояния, равного половине ширины строки.
Доступный в OS X v10.0 и позже.
Обсуждение
Окончание линии указывает метод, используемый
CGContextStrokePathнарисовать конечную точку строки. Для изменения стиля окончания линии в графическом контексте Вы используете функциюCGContextSetLineCap.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.0 и позже.
-
-
Соединение вводит для перечеркиваемых строк.
Объявление
Swift
struct CGLineJoin { init(_value: UInt32) var value: UInt32 }Objective C
enum CGLineJoin { kCGLineJoinMiter, kCGLineJoinRound, kCGLineJoinBevel }; typedef enum CGLineJoin CGLineJoin;Константы
-
kCGLineJoinMiterkCGLineJoinMiterСоединение с резким (угловым) углом. Кварц привлекает внешние стороны строк вне конечной точки пути, пока они не встречаются. Если длина среза, разделенного на ширину строки, больше, чем предельный угол стыка, косоугольное соединение используется вместо этого. Это - значение по умолчанию. Для установки предельного угла стыка посмотрите
CGContextSetMiterLimit.Доступный в OS X v10.0 и позже.
-
kCGLineJoinRoundkCGLineJoinRoundСоединение с округленным концом. Кварц разграничивает для расширения вне конечной точки пути. Концы строки с полукруглой дугой с радиусом 1/2 ширина строки, центрируемая на конечной точке.
Доступный в OS X v10.0 и позже.
-
kCGLineJoinBevelkCGLineJoinBevelСоединение с в квадрате - от конца. Кварц разграничивает для расширения вне конечной точки пути для расстояния 1/2 ширина строки.
Доступный в OS X v10.0 и позже.
Обсуждение
Соединение строки указывает как
CGContextStrokePathрисует соединение между связанными линейными сегментами. Для установки стиля соединения строки в графическом контексте Вы используете функциюCGContextSetLineJoin.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в OS X v10.0 и позже.
-
