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(transform
aTransform
: 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: NSAffineTransformStruct
Objective 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
Обсуждение
Связь выполняется умножением матриц — посмотрите, что Управление Преобразовывает Значения.
Если этот метод вызывается из
NSView
drawRect:
метод, тогда текущая матрица преобразования является накоплением экрана, окна и матриц трансформации любого суперпредставления. Вызов этого метода определяет новую пользовательскую систему координат, координаты которой отображаются в прежнюю систему координат согласно матрице преобразования получателя. Для отмены связи необходимо инвертировать матрицу получателя и вызвать этот метод снова.Оператор импорта
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 и позже.