NSAffineTransform
NSAffineTransform класс обеспечивает методы для создания, конкатенации и применения аффинных преобразований.
Трансформация указывает, как точки в одной системе координат преобразовываются к точкам в другой системе координат. Аффинное преобразование является специальным типом трансформации, сохраняющей параллельные строки по пути, но не обязательно сохраняющей длины или углы. При масштабировании вращение и перевод являются обычно используемыми манипуляциями, поддерживаемыми аффинными преобразованиями, но сдвиг также возможен.
Методы для применения аффинных преобразований к текущему графическому контексту и методу для применения аффинного преобразования к NSBezierPath объект описан в Дополнительной Ссылке NSAffineTransform в Наборе Приложения.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSObjectProtocol -
Печатаемый -
NSCoding -
NSCopying -
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает новое
NSAffineTransformобъект, инициализированный к единичной матрице.Объявление
Objective C
+ (NSAffineTransform *)transformВозвращаемое значение
Новые идентификационные данные преобразовывают объект. Эта матрица преобразовывает любую точку к той же точке.
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует матричное использование получателя, другие преобразовывают объект, и возвращает получатель.
Объявление
Swift
convenience init(transformaTransform: NSAffineTransform)Objective C
- (instancetype)initWithTransform:(NSAffineTransform *)aTransformПараметры
aTransformОбъект преобразования, матричные значения которого должны быть скопированы в этот объект.
Возвращаемое значение
Новый объект преобразования, инициализированный с матричными значениями
aTransform.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Применяет фактор вращения (измеренный в градусах) к матрице преобразования получателя.
Объявление
Swift
func rotateByDegrees(_angle: CGFloat)Objective C
- (void)rotateByDegrees:(CGFloat)angleПараметры
angleУгол вращения, измеренный в градусах.
Обсуждение
После вызова этого метода, применяя матрицу получателя поворачивает оси против часовой стрелки о текущем источнике
angleградусы, в дополнение к выполнению всех предыдущих трансформаций.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Применяет фактор вращения (измеренный в радианах) к матрице преобразования получателя.
Объявление
Swift
func rotateByRadians(_angle: CGFloat)Objective C
- (void)rotateByRadians:(CGFloat)angleПараметры
angleУгол вращения, измеренный в радианах.
Обсуждение
После вызова этого метода, применяя матрицу получателя поворачивает оси против часовой стрелки о текущем источнике
angleрадианы, в дополнение к выполнению всех предыдущих трансформаций.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Применяет указанный масштабный коэффициент вдоль обеих осей x и y к матрице преобразования получателя.
Параметры
scaleМасштабный коэффициент для применения к обеим осям. Указание отрицательной величины имеет эффект инвертирования направления осей в дополнение к масштабированию их. Масштабный коэффициент 1,0 масштабов содержание к точно тому же размеру.
Обсуждение
После вызова этого метода, применяя матрицу получателя изменяет единичные длины вдоль текущих осей x и y фактором
scale, в дополнение к выполнению всех предыдущих трансформаций.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Применяет масштабные коэффициенты к каждой оси матрицы преобразования получателя.
Объявление
Swift
func scaleXBy(_scaleX: CGFloat, yByscaleY: CGFloat)Параметры
scaleXМасштабный коэффициент для применения к оси X.
scaleYМасштабный коэффициент для применения к оси y.
Обсуждение
После вызова этого метода, применяя матрицу получателя изменяет единичную длину на оси X фактором
scaleXи ось y факторомscaleY, в дополнение к выполнению всех предыдущих трансформаций. Значение 1,0 для любой оси масштабирует содержание на той оси к тому же размеру.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Применяет указанные факторы перевода к матрице преобразования получателя.
Объявление
Swift
func translateXBy(_deltaX: CGFloat, yBydeltaY: CGFloat)Параметры
deltaXЧисло модулей для прохождения оси X.
deltaYЧисло модулей для прохождения оси y.
Обсуждение
Последующие трансформации заставляют координаты быть смещенными на
deltaXмодули вдоль оси X иdeltaYмодули вдоль оси y. Факторы перевода не влияютNSSizeзначения, указывающие дифференциал между точками.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Добавляет указанную матрицу к матрице получателя.
Объявление
Swift
func appendTransform(_aTransform: NSAffineTransform)Objective C
- (void)appendTransform:(NSAffineTransform *)aTransformПараметры
aTransformМатрица для добавления к получателю.
Обсуждение
Этот метод умножает матрицу получателя на матрицу в
aTransformи заменяет матрицу получателя результатами. Этот тип работы совпадает с применением трансформаций в получателе, сопровождаемом трансформациями вaTransform.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Предварительно ожидает указанную матрицу к матрице получателя.
Объявление
Swift
func prependTransform(_aTransform: NSAffineTransform)Objective C
- (void)prependTransform:(NSAffineTransform *)aTransformПараметры
aTransformМатрица для подготовки к получателю.
Обсуждение
Этот метод умножает матрицу в
aTransformматрицей и заменами получателя матрица получателя с результатом. Этот тип работы совпадает с применением трансформаций вaTransformсопровождаемый трансформациями в получателе.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Заменяет матрицу получателя ее обратной матрицей.
Объявление
Swift
func invert()Objective C
- (void)invertОбсуждение
Обратные матрицы полезны для отмены эффектов матрицы. Если предыдущая точка (x, y) была преобразована к (x’, y’), инвертировав матрицу и применив его для указания (x’, y’) приносит очко (x, y).
Можно также использовать обратные матрицы в сочетании с
concatметод для удаления эффектов конкатенации матрицы к текущей матрице преобразования текущего графического контекста.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Применяет преобразование получателя к указанному
NSPointтип данных и возвраты результаты.Объявление
Параметры
aPointТочка в текущей системе координат, к которой Вы хотите применить матрицу.
Возвращаемое значение
Получающаяся точка после применения трансформаций получателя.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Применяет преобразование получателя к указанному
NSSizeтип данных и возвраты результаты.Объявление
Параметры
aSizeДанные размера, к которым Вы хотите применить матрицу.
Возвращаемое значение
Получающийся размер после применения трансформаций получателя.
Обсуждение
Этот метод применяет текущее вращение и масштабные коэффициенты к
aSize; это не применяет факторы перевода. Можно думать об этом методе как о преобразовании вектора, источник которого (0, 0) и чья конечная точка указана значением вaSize. После того, как вращение и масштабные коэффициенты применяются, этот метод эффективно возвращает конечную точку нового вектора.Когда необходимо принять факторы масштабирования и вращения, во внимание этот метод полезен для преобразования дельты или значений расстояния.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
transformStruct transformStructСвойствоВозвращает коэффициенты матрицы, сохраненные в матрице получателя.
Объявление
Swift
var transformStruct: NSAffineTransformStructObjective C
@property NSAffineTransformStruct transformStructОбсуждение
Матрица имеет форму, показанную в Математике Преобразования и структуре с шестью элементами, определенной
NSAffineTransformStructструктура имеет форму:{m11, m12, m21, m22, tX, tY}
NSAffineTransformStructструктура является альтернативным представлением матрицы преобразования, которая может использоваться для указания матричных значений непосредственно.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает текущую матрицу преобразования в матрицу преобразования получателя.
Объявление
Swift
func set()Objective C
- (void)setОбсуждение
Текущая трансформация сохранена в текущем графическом контексте и применяется к последующим операциям рисования. Необходимо использовать этот метод экономно, потому что он удаляет существующую матрицу преобразования, которая является накоплением матриц трансформации для экрана, окна и любых суперпредставлений. Вместо этого используйте
concatметод для добавления этой матрицы преобразования к текущей матрице преобразования.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
Добавляет матрицу получателя к текущей матрице преобразования, сохраненной в текущем графическом контексте, заменяя текущую матрицу преобразования результатом.
Объявление
Swift
func concat()Objective C
- (void)concatОбсуждение
Связь выполняется умножением матриц — посмотрите, что Управление Преобразовывает Значения.
Если этот метод вызывается из
NSViewdrawRect:метод, тогда текущая матрица преобразования является накоплением экрана, окна и матриц трансформации любого суперпредставления. Вызов этого метода определяет новую пользовательскую систему координат, координаты которой отображаются в прежнюю систему координат согласно матрице преобразования получателя. Для отмены связи необходимо инвертировать матрицу получателя и вызвать этот метод снова.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращает новое
NSBezierPathобъект с каждой точкой по данному пути преобразовывается получателем.Объявление
Swift
func transformBezierPath(_aPath: NSBezierPath) -> NSBezierPathObjective C
- (NSBezierPath *)transformBezierPath:(NSBezierPath *)aPathПараметры
aPathОбъект, представляющий bezier, соединяет каналом, чтобы использоваться в трансформации.
Обсуждение
Оригинал
NSBezierPathобъект не изменяется.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
См. также
- transformPoint:– transformSize:
Типы данных
-
Этот тип определяет три тремя матрица, выполняющая аффинное преобразование между двумя системами координат.
Объявление
Swift
struct NSAffineTransformStruct { var m11: CGFloat var m12: CGFloat var m21: CGFloat var m22: CGFloat var tX: CGFloat var tY: CGFloat }Objective C
typedef struct _NSAffineTransformStruct { CGFloat m11, m12, m21, m22; CGFloat tX, tY; } NSAffineTransformStruct;Обсуждение
Для получения дополнительной информации посмотрите, что Какао Рисует Руководство.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
