NSBezierPath объект позволяет Вам создавать пути с помощью команд стиля PostScript. Пути состоят из прямых и объединенных изогнутых сегментов линии. Пути могут сформировать распознаваемые формы, такие как прямоугольники, овалы, дуги и глифы; они могут также сформировать сложные многоугольники с помощью или прямо или изогнутые сегменты линии. Единственный путь может быть закрыт путем соединения его двух конечных точек, или это можно оставить открытым.
NSBezierPath объект может содержать многократные разъединенные пути, закрываются ли они или открыты. Каждый из этих путей упоминается как подпуть. Подпути NSBezierPath объектом нужно управлять как группа. Единственный способ управлять подпутями индивидуально состоит в том, чтобы создать отдельный NSBezierPath объекты для каждого.
Для данного NSBezierPath объект, можно перечеркнуть схему пути или заполнить область, занятую путем. Можно также использовать путь в качестве области отсечения для представлений или других областей. Используя методы NSBezierPath, можно также выполнить обнаружение хита на заполненном или перечеркиваемом пути. Обнаружение хита необходимо для реализации интерактивных графиков, как в резине соединяющие и перетаскивающие операции.
Текущий графический контекст автоматически сохраняется и восстанавливается для всего включения операций рисования NSBezierPath объекты, таким образом, Ваше приложение не должно волноваться о графических настройках, изменяющихся через вызовы.
NSBezierPath новый объект контуров с овальным путем.
Обсуждение
Если aRect параметр указывает квадрат, нанесенный путь является кругом. Путь создается путем запуска в нижнем правом квадранте прямоугольника и добавления сегментов дуги против часовой стрелки для завершения овала.
Радиус каждого угла, овального вдоль оси X. Значения, больше, чем половина ширины прямоугольника, фиксируются к половине ширины.
yRadius
Радиус каждого угла, овального вдоль оси y. Значения, больше, чем половина высоты прямоугольника, фиксируются к половине высоты.
Возвращаемое значение
Новый объект контуров с округленным прямоугольным контуром.
Обсуждение
Путь создается в направлении против часовой стрелки, запускающемся в верхнем левом углу прямоугольника. Если любой из параметров радиуса содержит значение 0.0, возвращенный путь является простым прямоугольником без скругленных углов.
Выравнивание пути преобразовывает все изогнутые сегменты линии в приближения прямой линии. Гранулярностью приближений управляет текущее значение плоскости пути, установленное с помощью setDefaultFlatness: метод.
Обратный путь не обязательно имеет различное появление, когда представлено. Вместо этого это изменяет направление, в котором нарисованы сегменты контура. Например, инвертирование пути прямоугольника (чьи линейные сегменты обычно рисуются, запускаясь в источнике и продолжаясь в направлении против часовой стрелки) заставляет свои линейные сегменты быть нарисованными в направлении по часовой стрелке вместо этого. Рисование обратного пути могло влиять на появление заполненного образца, в зависимости от образца и правила заливки в использовании.
Путь в этом свойстве создается путем инвертирования каждого полного или частичного подпути в объекте контуров индивидуально.
Этот метод неявно закрывает текущий подпуть (если таковые имеются) и устанавливает текущую точку в значение в aPoint. При закрытии предыдущего подпути этот метод не заставляет строку создаваться из первых и последних точек по подпути.
Для многих операций пути необходимо вызвать этот метод прежде, чем дать любые команды, заставляющие линейный сегмент или сегмент кривой быть нарисованным.
Пункт назначения линейного сегмента, указанного в текущей системе координат.
Обсуждение
Этот метод создает сегмент прямой линии, запускающийся в текущей точке и заканчивающийся в точке, указанной aPoint параметр. Текущая точка является последней точкой в последний раз добавленном сегменте получателя.
Необходимо установить текущую точку пути (использующий moveToPoint: метод или посредством создания предыдущей строки или сегмента кривой) перед вызовом этого метода. Если путь пуст, этот метод повышает NSGenericException исключение.
Пункт назначения сегмента кривой, указанного в текущей системе координат
controlPoint1
Точка, определяющая форму кривой около текущей точки.
controlPoint2
Точка, определяющая форму кривой около пункта назначения.
Обсуждение
Необходимо установить текущую точку пути (использующий moveToPoint: метод или посредством создания предыдущей строки или сегмента кривой) перед вызовом этого метода. Если путь пуст, этот метод повышает NSGenericException исключение.
Этот метод закрывает текущий подпуть путем создания линейного сегмента между первыми и последними точками по подпути. Этот метод впоследствии обновляет текущую точку до конца недавно создаваемого линейного сегмента, который является также первой точкой по теперь закрытому подпути.
Точка, координаты которой интерпретируются как относительное смещение от текущей точки.
Обсуждение
Этот метод неявно закрывает текущий подпуть (если таковые имеются) и обновляет расположение текущей точки. Например, если текущая точка (1, 1) и aPoint содержит значение (1, 2), предыдущий подпуть был бы закрыт, и текущая точка станет (2, 3). При закрытии предыдущего подпути этот метод не заставляет строку создаваться из первых и последних точек по подпути.
Необходимо установить текущую точку пути (использующий moveToPoint: метод или посредством создания предыдущей строки или сегмента кривой) перед вызовом этого метода. Если путь пуст, этот метод повышает NSGenericException исключение.
Точка, координаты которой интерпретируются как относительное смещение от текущей точки.
Обсуждение
Пункт назначения относительно текущей точки. Например, если текущая точка (1, 1) и aPoint содержит значение (1, 2), линейный сегмент создается между точками (1, 1) и (2, 3).
Необходимо установить текущую точку пути (использующий moveToPoint: метод или посредством создания предыдущей строки или сегмента кривой) перед вызовом этого метода. Если путь пуст, этот метод повышает NSGenericException исключение.
Пункт назначения сегмента кривой, интерпретируемого как относительное смещение от текущей точки.
controlPoint1
Точка, определяющая форму кривой около текущей точки, интерпретируемой как относительное смещение от текущей точки.
controlPoint2
Точка, определяющая форму кривой около пункта назначения, интерпретируемого как относительное смещение от текущей точки.
Обсуждение
Необходимо установить текущую точку пути (использующий moveToPoint: метод или посредством создания предыдущей строки или сегмента кривой) перед вызовом этого метода. Если путь пуст, этот метод повышает NSGenericException исключение.
Этот метод добавляет, что команды раньше создавали aPath до конца пути получателя. Этот метод явно не пытается соединить подпути в двух объектах, несмотря на то, что операции в aPath май все еще вызывает тот эффект.
Массив C-стиля NSPoint типы данных, каждый из которых содержит конечную точку сегмента следующей строки.
count
Число очков в points параметр.
Обсуждение
Этот метод интерпретирует точки как ряд связанных линейных сегментов. Если текущий путь содержит открытый подпуть, строка создается из последней точки по тому подпути к первой точке в массиве точек. Если текущий путь пуст, первая точка в массиве точек используется для установки начальной точки линейных сегментов. Последующие линейные сегменты добавляются с помощью остающихся точек в массиве.
Этот метод не закрывает создающийся путь. Если Вы хотите создать замкнутый путь, необходимо сделать так путем явного вызова получателя closePath метод.
Прежде, чем добавить овал, этот метод перемещает текущую точку, неявно закрывающую текущий подпуть. Если aRect параметр указывает квадрат, нанесенный путь является кругом. Путь создается путем запуска в нижнем правом квадранте прямоугольника и добавления сегментов дуги против часовой стрелки для завершения овала.
Создаваемая дуга определяется кругом, нанесенным в углу, указанном тремя точками: текущая точка, fromPoint параметр, и toPoint параметр (в том порядке). Сама дуга находится на периметре круга, радиус которого указан radius параметр. Дуга нарисована между двумя точками круга, которые являются касательной к двум участкам угла.
Дуга обычно не содержит точки в fromPoint и toPoint параметры. Если начальная точка дуги не совпадает с текущей точкой, линия проведена между двумя точками. Начальная точка дуги находится на строке, определенной текущей точкой и fromPoint параметр.
Необходимо установить текущую точку пути (использующий moveToPoint: метод или посредством создания предыдущей строки или сегмента кривой) перед вызовом этого метода. Если путь пуст, этот метод повышает NSGenericException исключение.
В зависимости от длины дуги этот метод может добавить многократные связанные сегменты кривой к пути.
Указывает, что центральная точка круга раньше определяла дугу.
radius
Указывает, что радиус круга раньше определял дугу.
startAngle
Указывает стартовый угол дуги, измеренной в градусах против часовой стрелки от оси X.
endAngle
Указывает угол конца дуги, измеренной в градусах против часовой стрелки от оси X.
Обсуждение
Создаваемая дуга находится на периметре круга между углами, указанными startAngle и endAngle параметры. Дуга нарисована в направлении против часовой стрелки. Если путь получателя пуст, этот метод устанавливает текущую точку в начало дуги прежде, чем добавить сегмент дуги. Если путь получателя не пуст, линия проведена от текущей точки до начальной точки дуги.
В зависимости от длины дуги этот метод может добавить многократные связанные сегменты кривой к пути.
Указывает, что центральная точка круга раньше определяла дугу.
radius
Указывает, что радиус круга раньше определял дугу.
startAngle
Указывает стартовый угол дуги, измеренной в градусах против часовой стрелки от оси X.
endAngle
Указывает угол конца дуги, измеренной в градусах против часовой стрелки от оси X.
clockwise
YEStrue если Вы хотите, чтобы дуга была нарисована в направлении по часовой стрелке; иначе NOfalse нарисовать дугу в направлении против часовой стрелки.
Обсуждение
Создаваемая дуга находится на периметре круга между углами, указанными startAngle и endAngle параметры. Дуга нарисована в направлении, обозначенном clockwise параметр. Если путь получателя пуст, этот метод устанавливает текущую точку в начало дуги прежде, чем добавить сегмент дуги. Если путь получателя не пуст, линия проведена от текущей точки до начальной точки дуги.
В зависимости от длины дуги этот метод может добавить многократные связанные сегменты кривой к пути.
Если глиф не кодируется в шрифте, указанном fontObj параметр — т.е. шрифт не имеет записи для указанного глифа — тогда, никакой путь не добавляется к получателю.
Необходимо установить текущую точку пути (использующий moveToPoint: метод или посредством создания предыдущей строки или сегмента кривой) перед вызовом этого метода. Если путь пуст, этот метод повышает NSGenericException исключение.
Массив C-стиля NSGlyph типы данных для добавления к пути.
count
Число глифов в glyphs параметр.
fontObj
Шрифт, в котором кодируются глифы.
Обсуждение
Если глифы не кодируются в шрифте, указанном fontObj параметр — т.е. шрифт не имеет записи для одного из указанных глифов — тогда, никакой путь не добавляется к получателю.
Необходимо установить текущую точку пути (использующий moveToPoint: метод или посредством создания предыдущей строки или сегмента кривой) перед вызовом этого метода. Если путь пуст, этот метод повышает NSGenericException исключение.
Прежде, чем добавить прямоугольник, этот метод перемещает текущую точку к источнику прямоугольника, неявно закрывающего текущий подпуть (если таковые имеются). Путь создается путем запуска в источнике aRect и добавление линейных сегментов в направлении против часовой стрелки. Заключительный сегмент добавляется с помощью a closePath сообщение.
Радиус каждого угла, овального вдоль оси X. Значения, больше, чем половина ширины прямоугольника, фиксируются к половине ширины.
yRadius
Радиус каждого угла, овального вдоль оси y. Значения, больше, чем половина высоты прямоугольника, фиксируются к половине высоты.
Обсуждение
Путь создается в направлении против часовой стрелки, запускающемся в верхнем левом углу прямоугольника. Если любой из параметров радиуса содержит значение 0.0, возвращенный путь является простым прямоугольником без скругленных углов.
Стиль окончания линии указывает форму конечных точек на открытом контуре, когда перечеркиваемый. Рисунок 1 показывает появление доступных стилей окончания линии. Значение по умолчанию этого свойства является значением, возвращенным defaultLineCapStyle метод. Для полного списка значений посмотрите NSLineCapStyle.
Стиль соединения строки указывает форму соединений между связанными сегментами перечеркиваемого пути. Рисунок 2 показывает появление доступных стилей соединения строки. Значение по умолчанию этого свойства является значением, возвращенным defaultLineJoinStyle метод. Для полного списка значений посмотрите NSLineJoinStyle.
Ширина строки определяет толщину перечеркиваемого пути получателя. Ширина 0 интерпретируется как самая тонкая строка, которая может быть представлена на определенном устройстве. Фактическая представленная ширина строки может варьироваться от указанной ширины целых 2 пикселями устройства, в зависимости от позиции строки относительно пиксельной сетки и текущих настроек сглаживания. Ширина строки может также быть затронута масштабными коэффициентами, указанными в текущей матрице преобразования активного графического контекста.
Значение по умолчанию этого свойства является значением, возвращенным defaultLineWidth метод.
Предельный угол стыка помогает Вам избежать скачков в соединении двух линейных сегментов, соединенных соединением среза (NSMiterLineJoinStyle). Если отношение длины среза — диагональная длина соединения среза — к толщине строки превышает предельный угол стыка, соединение преобразовывается в косоугольное соединение.
Значение по умолчанию этого свойства является значением, возвращенным defaultMiterLimit метод.
Значение плоскости указывает точность (или гладкость), с которым представляются кривые. Это - также допуск максимальной погрешности (измеренный в пикселях) для рендеринга кривых, где меньшие числа дают более гладкие кривые за счет большего количества вычисления. Точная интерпретация может варьироваться немного на различных устройствах рендеринга.
Значение по умолчанию этого свойства является значением, возвращенным defaultFlatness метод.
На вводе, массиве C-стиля значений с плавающей точкой, или nil если Вы не хотите значения образца. На выводе этот массив содержит длины (измеренный в точках) линейных сегментов и разрывов в образце. Значения в альтернативе массива, начиная с первой продолжительности линейного сегмента, сопровождаемой первой длиной разрыва, сопровождаемой второй продолжительностью линейного сегмента, и т.д.
count
На вводе, указателе на целое число или nil если Вы не хотите число записей образца. На выводе, числе записей, записанных в pattern.
phase
На вводе, указателе на значение с плавающей точкой или nil если Вы не хотите фазу. На выводе это значение содержит смещение, при котором можно начать рисовать образец, измеренный в точках вдоль образца пунктирной линии. Например, фаза 6 в образце 5-2-3-2 заставила бы получение начинаться посреди первого разрыва.
Обсуждение
Массив в pattern параметр должен быть достаточно большим для содержания всех возвращенных значений в образце. Если Вы не уверены сколько значений, там мог бы быть, можно вызвать этот метод дважды. В первый раз Вы вызываете его, не передавайте значение для pattern но используйте возвращенное значение в count выделить массив чисел с плавающей точкой, которые можно тогда передать во втором разе.
Массив C-стиля значений с плавающей точкой, содержащий длины (измеренный в точках) линейных сегментов и разрывов в образце. Значения в альтернативе массива, начиная с первой продолжительности линейного сегмента, сопровождаемой первой длиной разрыва, сопровождаемой второй продолжительностью линейного сегмента, и т.д.
count
Число значений в pattern.
phase
Смещение, при котором можно начать рисовать образец, измерилось в точках вдоль образца пунктирной линии. Например, фаза 6 в образце 5-2-3-2 заставила бы получение начинаться посреди первого разрыва
Обсуждение
Например, для создания купонного типа супермаркета пунктирной линии:
array[0]=5.0;//segment painted with stroke color
array[1]=2.0;//segment not painted with a color
[pathsetLineDash:arraycount:2phase:0.0];
В вышеупомянутом примере, если Вы устанавливаете phase к 6,0, тире строки начал бы точно шесть модулей в pattern, который запустил бы образец посреди первого разрыва.
Текущее проветривание значения по умолчанию управляет или NSNonZeroWindingRule если не было установлено никакое стандартное правило. Это значение может быть также NSNonZeroWindingRule или NSEvenOddWindingRule.
Вьющееся правило использовать, если никакое вьющееся правило не устанавливается явно для объекта контуров. Это значение может быть также NSNonZeroWindingRule или NSEvenOddWindingRule.
Обсуждение
Вьющиеся правила определяют, как нарисовать (или заливка) область включенной путем. Вы используете этот метод для устанавливания стандартного правила, применяющегося к путям, не имеющим пользовательского вьющегося правила присвоенным.
Для получения дополнительной информации о том, как проветривание правил влияет на появление заполненных путей, видит, что Какао Рисует Руководство.
Стиль окончания линии по умолчанию или NSButtLineCapStyle если не был установлен никакой другой стиль. Для списка значений посмотрите Константы.
Обсуждение
Стиль окончания линии по умолчанию может быть переопределен для отдельных трактов путем установки пользовательского стиля для того пути с помощью setLineCapStyle: метод.
Стиль окончания линии по умолчанию. Для списка значений посмотрите Константы.
Обсуждение
Стиль окончания линии указывает форму конечных точек открытого контура, когда перечеркиваемый. Рисунок 1 показывает появление доступных стилей окончания линии.
Стиль соединения строки по умолчанию или NSMiterLineJoinStyle если не было установлено никакое другое значение. Для списка значений посмотрите Константы.
Стиль соединения строки по умолчанию. Для списка значений посмотрите Константы.
Обсуждение
Стиль соединения строки указывает форму соединений между связанными сегментами перечеркиваемого пути. Рисунок 2 показывает появление доступных стилей соединения строки.
Ширина строки по умолчанию, измеренная в точках в пользовательском координатном пространстве, или 1.0, если не было установлено никакое другое значение.
Ширина строки по умолчанию, измеренная в точках в пользовательском координатном пространстве.
Обсуждение
Ширина строки определяет толщину перечеркиваемых путей. Ширина 0 интерпретируется как самая тонкая строка, которая может быть представлена на определенном устройстве. Фактическая представленная ширина строки может варьироваться от указанной ширины целых 2 пикселями устройства, в зависимости от позиции строки относительно пиксельной сетки и текущих настроек сглаживания. Ширина строки может также быть затронута масштабными коэффициентами, указанными в текущей матрице преобразования активного графического контекста.
Предел по умолчанию, в котором соединения среза преобразовываются для скашивания соединений.
Обсуждение
Предельный угол стыка помогает Вам избежать скачков в соединении двух линейных сегментов, соединенных соединением среза (NSMiterLineJoinStyle). Если отношение длины среза — диагональная длина соединения среза — к толщине строки превышает предельный угол стыка, соединение преобразовывается в косоугольное соединение. Значение предельного угла стыка по умолчанию равняется 10, который преобразовывает срезы, угол которых в соединении составляет меньше чем 11 градусов.
Значение плоскости указывает точность (или гладкость), с которым представляются кривые. Это - также допуск максимальной погрешности (измеренный в пикселях) для рендеринга кривых, где меньшие числа дают более гладкие кривые за счет большего количества вычисления. Точная интерпретация может варьироваться немного на различных устройствах рендеринга.
Значение плоскости по умолчанию 0.6, который приводит к плавным кривым.
Чертит линию вдоль пути получателя с помощью текущего цвета обводки и таща атрибуты.
Объявление
Swift
funcstroke()
Objective C
- (void)stroke
Обсуждение
Проведенная линия центрируется на пути с его сторонами, параллельными сегменту контура. Этот метод использует текущие атрибуты получения, связанные с получателем. Если определенный атрибут не установлен для получателя, этот метод использует соответствующий атрибут по умолчанию.
Этот метод заполняет путь с помощью текущего цвета заливки и правила токовой обмотки получателя. Если путь содержит какие-либо открытые подпути, этот метод неявно закрывает их прежде, чем нарисовать область заливки.
Нарисованная область включает пиксели прямо до, но не включая, сама строка пути. Для путей с большими ширинами строки это может привести к перекрытию между областью заливки и перечеркиваемым путем (который самостоятельно центрируется на строке пути).
Этот метод сразу заполняет указанную область. Этот метод использует составляющую композит работу, возвращенную compositingOperation метод NSGraphicsContext.
Путь нарисован, начавшись в источнике прямоугольника и продолжившись в направлении против часовой стрелки. Этот метод сразу перечеркивает указанный путь.
Пересекает область, включенную путем получателя с траекторией отсечения текущего графического контекста, и делает получающуюся форму текущей траекторией отсечения.
Объявление
Swift
funcaddClip()
Objective C
- (void)addClip
Обсуждение
Этот метод использует правило токовой обмотки определить форму отсечения получателя. Этот метод не влияет на путь получателя.
Заменяет траекторию отсечения текущего графического контекста с областью в пути получателя.
Объявление
Swift
funcsetClip()
Objective C
- (void)setClip
Обсуждение
Необходимо избегать использования этого метода как способа скорректировать траекторию отсечения, поскольку это может развернуть траекторию отсечения вне границ, установленных представлением включения. Если Вы действительно используете этот метод, несомненно, сохранят состояние графики до изменения траектории отсечения и восстановят состояние графики, когда Вы сделаны.
Этот метод использует правило токовой обмотки определить форму отсечения получателя. Этот метод не влияет на путь получателя.
Точка для тестирования против пути, указанного в системе координат объекта контуров.
Возвращаемое значение
YEStrue если вложенная область пути содержит указанную точку; иначе, NOfalse.
Обсуждение
Этот метод проверяет точку по самому пути и области, которую это включает. При определении хитов во вложенной области этот метод использует ненулевое вьющееся правило (NSNonZeroWindingRule). Это не принимает во внимание, что ширина строки раньше перечеркивала путь.
Это свойство содержит прямоугольник, включающий путь получателя. Если путь содержит сегменты кривой, ограничительная рамка включает кривую, но может не включить контрольные точки, используемые для вычисления кривой.
Если путь пуст, получая доступ к этому свойству повышения NSGenericException.
Это свойство содержит прямоугольник, включающий путь получателя. Если путь содержит сегменты кривой, ограничительная рамка включает контрольные точки кривых, а также самих кривых.
Это свойство содержит точку, с которой начинаются следующий нарисованный линейный сегмент или сегмент кривой. Если путь пуст, получая доступ к этому свойству повышения NSGenericException.
Элементы пути описывают команды, используемые, чтобы определить путь и включать основные команды, такие как перемещение в отдельный момент, создание линейного сегмента, создание кривой или закрытие пути. Элементы сохранены в порядке их выполнения.
На вводе, массив C-стиля, содержащий до трех NSPoint типы данных, или NULL если Вы не хотите точки. На выводе точки данных связались с указанным элементом пути.
При указании значения для параметра точек массив должен быть достаточно большим для содержания числа очков для данного элемента пути. Перемещение, замкнутый контур и команды линейного сегмента возвращают одну точку. Операции кривой возвращают три точки.
Для операций кривой порядок точек является controlPoint1 (points[0]), controlPoint2 (points[1]), конечная точка (points[2]).
Массив C-стиля, содержащий до трех NSPoint типы данных. Этот параметр должен содержать корректное число очков для элемента пути в указанном индексе. Перемещение, замкнутый контур и команды линейного сегмента требуют одной точки. Операции кривой требуют трех точек.
index
Индекс элемента пути Вы хотите изменить.
Обсуждение
Можно использовать этот метод для изменения точек, связанных с путем быстро и не воссоздавая путь. Вы не можете использовать этот метод для изменения типа элемента пути.
Следующий пример показывает Вам, как Вы изменили бы точку, связанную с элементом пути строки. Путь, создаваемый этим примером, приводит к пути с двумя элементами. Первый элемент пути указывает перемещение для указания (0, 0), в то время как второе создает строку для указания (100, 100). Это тогда изменяет строку для движения только в точку (50,50) использование этого метода:
NSBezierPath*bezierPath=[NSBezierPathbezierPath];
NSPointnewPoint=NSMakePoint(50.0,50.0);
[bezierPathmoveToPoint:NSMakePoint(0.0,0.0)];
[bezierPathlineToPoint:NSMakePoint(100.0,100.0)];
// Modifies the point added by lineToPoint: method (100.0, 100.0)
enum NSBezierPathElement : UInt { case MoveToBezierPathElement case LineToBezierPathElement case CurveToBezierPathElement case ClosePathBezierPathElement }
Перемещает текущую точку получения объекта контуров к указанной точке.
Этот элемент пути не приводит ни к какому получению. Используя эту команду посреди пути приводит к разъединенному линейному сегменту.
Содержит 1 точку.
Доступный в OS X v10.0 и позже.
LineToBezierPathElement
NSLineToBezierPathElement
Создает прямую линию от текущей точки получения до указанной точки.
Строки и прямоугольники указаны с помощью этого элемента пути.
Содержит 1 точку.
Доступный в OS X v10.0 и позже.
CurveToBezierPathElement
NSCurveToBezierPathElement
Создает изогнутый сегмент линии от текущей точки до указанной конечной точки с помощью двух контрольных точек для определения кривой.
Точки сохранены в следующем порядке: controlPoint1, controlPoint2, конечная точка. Овалы, дуги и Кривые Безье все элементы кривой использования для указания их геометрии.
Содержит 3 точки.
Доступный в OS X v10.0 и позже.
ClosePathBezierPathElement
NSClosePathBezierPathElement
Отмечает конец текущего подпути в указанной точке.
Обратите внимание на то, что точка, указанная для элемента Замкнутого контура, является по существу тем же как текущей точкой.
Доступный в OS X v10.0 и позже.
Обсуждение
Этих команд достаточно для определения всех возможных форм контура. Каждая команда имеет одну или более точек, содержащих информацию, должен был расположить элемент пути. Большинство элементов пути использует текущую точку получения в качестве начальной точки для рисования. Для получения дополнительной информации посмотрите Пути.
Рассчитайте каждый слева направо соединяет каналом как +1, и каждый справа налево соединяет каналом как-1. Если сумма всех пересечений 0, точка вне пути. Если сумма является ненулевой, точка в пути, и область, содержащая его, заполнена. Это - правило проветривания значения по умолчанию.
Доступный в OS X v10.0 и позже.
EvenOddWindingRule
NSEvenOddWindingRule
Указывает ровно-нечетное вьющееся правило.
Считайте общее количество пересечений пути. Если число пересечений даже, точка вне пути. Если число пересечений нечетно, точка в пути, и область, содержащая его, должна быть заполнена.