Ссылка CGAffineTransform
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreGraphics
Objective C
@import CoreGraphics;
CGAffineTransform структура данных представляет матрицу, используемую для аффинных преобразований. Трансформация указывает, как точки в одной системе координат отображаются на точки в другой системе координат. Аффинное преобразование является специальным типом отображения, сохраняющего параллельные строки по пути, но не обязательно сохраняющего длины или углы. При масштабировании вращение и перевод являются обычно используемыми манипуляциями, поддерживаемыми аффинными преобразованиями, но скос также возможен.
Кварц обеспечивает функции, создающие, связывающие и применяющие аффинные преобразования с помощью CGAffineTransform структура данных. Для получения информации о том, как использовать функции аффинного преобразования, посмотрите Кварц 2D Руководство по программированию.
Вы обычно не должны создавать аффинное преобразование непосредственно — Ссылка CGContext описывает функции, изменяющие текущее аффинное преобразование. Если Вы не планируете снова использовать аффинное преобразование, можно хотеть использовать CGContextScaleCTM, CGContextRotateCTM, CGContextTranslateCTM, или CGContextConcatCTM.
-
Возвращает матрицу аффинного преобразования, созданную из значений, которые Вы обеспечиваете.
Объявление
Objective C
CGAffineTransform CGAffineTransformMake ( CGFloat a, CGFloat b, CGFloat c, CGFloat d, CGFloat tx, CGFloat ty );Параметры
aЗначение в позиции [1,1] в матрице.
bЗначение в позиции [1,2] в матрице.
cЗначение в позиции [2,1] в матрице.
dЗначение в позиции [2,2] в матрице.
txЗначение в позиции [3,1] в матрице.
tyЗначение в позиции [3,2] в матрице.
Возвращаемое значение
Новая матрица аффинного преобразования создала из значений, которые Вы указываете.
Обсуждение
Эта функция создает a
CGAffineTransformструктура, представляющая новую матрицу аффинного преобразования, которую можно использовать (и повторное использование, если Вы хотите) преобразовать систему координат. Матрица принимает следующую форму:
Поскольку третий столбец всегда
(0,0,1),CGAffineTransformструктура данных, возвращенная этой функцией, содержит значения для только первых двух столбцов.Если Вы хотите только преобразовать объект, который будет нарисован, не необходимо создать аффинное преобразование, чтобы сделать так. Самый прямой способ преобразовать Ваше получение путем вызова надлежащего
CGContextфункция для корректировки текущей матрицы преобразования. Для списка функций см. Ссылку CGContext.Оператор импорта
Objective C
@import CoreGraphics;Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает матрицу аффинного преобразования, созданную из значения вращения, которое Вы обеспечиваете.
Объявление
Swift
func CGAffineTransformMakeRotation(_angle: CGFloat) -> CGAffineTransformObjective C
CGAffineTransform CGAffineTransformMakeRotation ( CGFloat angle );Параметры
angleУгол, в радианах, на которые эта матрица поворачивает оси системы координат. В iOS положительное значение указывает против часовой стрелки вращение, и отрицательная величина указывает по часовой стрелке вращение. В OS X положительное значение указывает по часовой стрелке вращение, и отрицательная величина указывает против часовой стрелки вращение.
Возвращаемое значение
Новая матрица аффинного преобразования.
Обсуждение
Эта функция создает a
CGAffineTransformструктура, которую можно использовать (и повторное использование, если Вы хотите) поворачивать систему координат. Матрица принимает следующую форму:
Фактическое направление вращения зависит от ориентации системы координат целевой платформы, отличающейся в iOS и OS X. Поскольку третий столбец всегда
(0,0,1),CGAffineTransformструктура данных, возвращенная этой функцией, содержит значения для только первых двух столбцов.Это получающиеся уравнения что Кварцевое использование для применения вращения к точке (x, y):
Если Вы хотите только повернуть объект, который будет нарисован, не необходимо создать аффинное преобразование, чтобы сделать так. Самый прямой способ повернуть Ваше получение путем вызывания функции
CGContextRotateCTM.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает матрицу аффинного преобразования, созданную из масштабирования значений, которые Вы обеспечиваете.
Объявление
Swift
func CGAffineTransformMakeScale(_sx: CGFloat, _sy: CGFloat) -> CGAffineTransformObjective C
CGAffineTransform CGAffineTransformMakeScale ( CGFloat sx, CGFloat sy );Параметры
sxФактор, которым можно масштабировать ось X системы координат.
syФактор, которым можно масштабировать ось y системы координат.
Возвращаемое значение
Новая матрица аффинного преобразования.
Обсуждение
Эта функция создает a
CGAffineTransformструктура, которую можно использовать (и повторное использование, если Вы хотите) масштабировать систему координат. Матрица принимает следующую форму:
Поскольку третий столбец всегда
(0,0,1),CGAffineTransformструктура данных, возвращенная этой функцией, содержит значения для только первых двух столбцов.Это получающиеся уравнения что Кварцевое использование для масштабирования координат точки (x, y):
Если Вы хотите только масштабировать объект, который будет нарисован, не необходимо создать аффинное преобразование, чтобы сделать так. Самый прямой способ масштабировать Ваше получение путем вызывания функции
CGContextScaleCTM.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает матрицу аффинного преобразования, созданную из значений перевода, которые Вы обеспечиваете.
Объявление
Swift
func CGAffineTransformMakeTranslation(_tx: CGFloat, _ty: CGFloat) -> CGAffineTransformObjective C
CGAffineTransform CGAffineTransformMakeTranslation ( CGFloat tx, CGFloat ty );Параметры
txЗначение, которым можно переместить ось X системы координат.
tyЗначение, которым можно переместить ось y системы координат.
Возвращаемое значение
Новая матрица аффинного преобразования.
Обсуждение
Эта функция создает a
CGAffineTransformструктура. который можно использовать (и повторное использование, если Вы хотите) перемещать систему координат. Матрица принимает следующую форму:
Поскольку третий столбец всегда
(0,0,1),CGAffineTransformструктура данных, возвращенная этой функцией, содержит значения для только первых двух столбцов.Это получающееся Кварцевое использование уравнений для применения перевода в точку (x, y):
Если Вы хотите только переместить расположение, где объект нарисован, не необходимо создать аффинное преобразование, чтобы сделать так. Самый прямой способ переместить Ваше получение путем вызывания функции
CGContextTranslateCTM.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает матрицу аффинного преобразования, созданную путем перевода существующего аффинного преобразования.
Объявление
Swift
func CGAffineTransformTranslate(_t: CGAffineTransform, _tx: CGFloat, _ty: CGFloat) -> CGAffineTransformObjective C
CGAffineTransform CGAffineTransformTranslate ( CGAffineTransform t, CGFloat tx, CGFloat ty );Параметры
tСуществующее аффинное преобразование.
txЗначение, которым можно переместить значения x с аффинным преобразованием.
tyЗначение, которым можно переместить значения y с аффинным преобразованием.
Возвращаемое значение
Новая матрица аффинного преобразования.
Обсуждение
Вы используете эту функцию для создания нового аффинного преобразования путем добавления, что перевод оценивает существующему аффинному преобразованию. Получающаяся структура представляет новое аффинное преобразование, которое можно использовать (и повторное использование, если Вы хотите) перемещать систему координат.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает матрицу аффинного преобразования, созданную путем масштабирования существующего аффинного преобразования.
Объявление
Swift
func CGAffineTransformScale(_t: CGAffineTransform, _sx: CGFloat, _sy: CGFloat) -> CGAffineTransformObjective C
CGAffineTransform CGAffineTransformScale ( CGAffineTransform t, CGFloat sx, CGFloat sy );Параметры
tСуществующее аффинное преобразование.
sxЗначение, которым можно масштабировать x значения аффинного преобразования.
syЗначение, которым можно масштабировать y значения аффинного преобразования.
Возвращаемое значение
Новая матрица аффинного преобразования.
Обсуждение
Вы используете эту функцию для создания новой матрицы аффинного преобразования путем добавления масштабирующихся значений к существующему аффинному преобразованию. Получающаяся структура представляет новое аффинное преобразование, которое можно использовать (и повторное использование, если Вы хотите) масштабировать систему координат.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает матрицу аффинного преобразования, созданную путем вращения существующего аффинного преобразования.
Объявление
Swift
func CGAffineTransformRotate(_t: CGAffineTransform, _angle: CGFloat) -> CGAffineTransformObjective C
CGAffineTransform CGAffineTransformRotate ( CGAffineTransform t, CGFloat angle );Параметры
tСуществующее аффинное преобразование.
angleУгол, в радианах, на которые можно повернуть аффинное преобразование. В iOS положительное значение указывает против часовой стрелки вращение, и отрицательная величина указывает по часовой стрелке вращение. В OS X положительное значение указывает по часовой стрелке вращение, и отрицательная величина указывает против часовой стрелки вращение.
Возвращаемое значение
Новая матрица аффинного преобразования.
Обсуждение
Вы используете эту функцию для создания новой матрицы аффинного преобразования путем добавления, что вращение оценивает существующему аффинному преобразованию. Получающаяся структура представляет новое аффинное преобразование, которое можно использовать (и повторное использование, если Вы хотите) поворачивать систему координат.
Фактическое направление вращения зависит от ориентации системы координат целевой платформы, отличающейся в iOS и OS X.
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает матрицу аффинного преобразования, созданную путем инвертирования существующего аффинного преобразования.
Объявление
Swift
func CGAffineTransformInvert(_t: CGAffineTransform) -> CGAffineTransformObjective C
CGAffineTransform CGAffineTransformInvert ( CGAffineTransform t );Параметры
tСуществующее аффинное преобразование.
Возвращаемое значение
Новая матрица аффинного преобразования. Если аффинное преобразование передается в параметре
tне может быть инвертирован, Кварц возвращает неизменное аффинное преобразование.Обсуждение
Инверсия обычно используется для обеспечения обратной трансформации точек в преобразованных объектах. Учитывая координаты (x, y), которые были преобразованы данной матрицей к новым координатам (x’, y’), преобразовав координаты (x’, y’) обратной матрицей производит исходные координаты (x, y).
Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает матрицу аффинного преобразования, созданную путем объединения двух существующих аффинных преобразований.
Объявление
Swift
func CGAffineTransformConcat(_t1: CGAffineTransform, _t2: CGAffineTransform) -> CGAffineTransformObjective C
CGAffineTransform CGAffineTransformConcat ( CGAffineTransform t1, CGAffineTransform t2 );Параметры
t1Первое аффинное преобразование.
t2Второе аффинное преобразование. Это аффинное преобразование связывается к первому аффинному преобразованию.
Возвращаемое значение
Новая матрица аффинного преобразования. Т.е. t’ = t1*t2.
Обсуждение
Связь комбинирует две матрицы аффинного преобразования путем умножения их вместе. Вы могли бы выполнить несколько связей для создания единственного аффинного преобразования, содержащего кумулятивные эффекты нескольких трансформаций.
Обратите внимание на то, что операции над матрицей не являются коммутативными — порядок, в котором Вы конкатенируете, матрицы важно. Т.е. результат умножения матрицы
t1матрицейt2не обязательно равняется результату умножения матрицыt2матрицейt1.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает точку, следующую из аффинного преобразования существующей точки.
Объявление
Objective C
CGPoint CGPointApplyAffineTransform ( CGPoint point, CGAffineTransform t );Параметры
pointТочка, указывающая x-и y-координаты для преобразования.
tАффинное преобразование для применения.
Возвращаемое значение
Новая точка, следующая из применения указанного аффинного преобразования к существующей точке.
Оператор импорта
Objective C
@import CoreGraphics;Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает высоту и ширину, следующую из трансформации существующей высоты и ширины.
Объявление
Objective C
CGSize CGSizeApplyAffineTransform ( CGSize size, CGAffineTransform t );Параметры
sizeРазмер, указывающий высоту и ширину для преобразования.
tАффинное преобразование для применения.
Возвращаемое значение
Новый размер, следующий из применения указанного аффинного преобразования к существующему размеру.
Оператор импорта
Objective C
@import CoreGraphics;Доступность
Доступный в iOS 2.0 и позже.
-
Применяет аффинное преобразование к прямоугольнику.
Объявление
Swift
func CGRectApplyAffineTransform(_rect: CGRect, _t: CGAffineTransform) -> CGRectObjective C
CGRect CGRectApplyAffineTransform ( CGRect rect, CGAffineTransform t );Параметры
rectПрямоугольник, угловые точки которого Вы хотите преобразовать.
tАффинное преобразование для применения к
rectпараметр.Возвращаемое значение
Преобразованный прямоугольник.
Обсуждение
Поскольку аффинные преобразования не сохраняют прямоугольники в целом, функцию
CGRectApplyAffineTransformвозвращает наименьший прямоугольник, содержащий преобразованные угловые точкиrectпараметр. Если аффинное преобразованиеtсостоит исключительно из масштабирования и операций перевода, тогда возвращенный прямоугольник совпадает с прямоугольником, созданным из четырех преобразованных углов.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Проверки, является ли аффинное преобразование идентификационными данными, преобразовывают.
Объявление
Swift
func CGAffineTransformIsIdentity(_t: CGAffineTransform) -> BoolObjective C
bool CGAffineTransformIsIdentity ( CGAffineTransform t );Параметры
tАффинное преобразование для проверки.
Возвращаемое значение
Возвраты
trueеслиtидентификационные данные, преобразовывают,falseиначе.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Проверки, равны ли два аффинных преобразования.
Объявление
Swift
func CGAffineTransformEqualToTransform(_t1: CGAffineTransform, _t2: CGAffineTransform) -> BoolObjective C
bool CGAffineTransformEqualToTransform ( CGAffineTransform t1, CGAffineTransform t2 );Параметры
t1Аффинное преобразование.
t2Аффинное преобразование.
Возвращаемое значение
Возвраты
trueеслиt1иt2равны,falseиначе.Оператор импорта
Objective C
@import CoreGraphics;Swift
import CoreGraphicsДоступность
Доступный в iOS 2.0 и позже.
-
Структура для содержания матрицы аффинного преобразования.
Объявление
Swift
struct CGAffineTransform { var a: CGFloat var b: CGFloat var c: CGFloat var d: CGFloat var tx: CGFloat var ty: CGFloat init() init(aa: CGFloat, bb: CGFloat, cc: CGFloat, dd: CGFloat, txtx: CGFloat, tyty: CGFloat) }Поля
aЗапись в позиции [1,1] в матрице.
bЗапись в позиции [1,2] в матрице.
cЗапись в позиции [2,1] в матрице.
dЗапись в позиции [2,2] в матрице.
txЗапись в позиции [3,1] в матрице.
tyЗапись в позиции [3,2] в матрице.
Обсуждение
В 2D Кварце матрица аффинного преобразования используется, чтобы повернуть, масштабировать, перевести, или скосить объекты, которые Вы рисуете в графическом контексте.
CGAffineTransformтип обеспечивает функции для создания, конкатенации и применения аффинных преобразований.В Кварце аффинные преобразования представлены 3 3 матрицами:
Поскольку третий столбец всегда
(0,0,1),CGAffineTransformструктура данных содержит значения для только первых двух столбцов.Концептуально, Кварцевое аффинное преобразование умножает строковый вектор, представляющий каждую точку (x, y) в Вашем получении этой матрицей, производя вектор, представляющий соответствующую точку (x’, y’):
Учитывая 3 3 матрицами, Кварц использует следующие уравнения для преобразования точки (x, y) в одной системе координат в результирующую точку (x’, y’) в другой системе координат.
Матрица, таким образом, «соединяет» две системы координат — она указывает, как точки в одной системе координат отображаются на точки в другом.
Обратите внимание на то, что Вы не должны обычно создавать аффинные преобразования непосредственно. Если Вы хотите только нарисовать объект, масштабирующийся или поворачивающийся, например, не необходимо создать аффинное преобразование, чтобы сделать так. Самый прямой способ управлять Вашим получением — должен ли перемещением, масштабированием или вращением — вызвать функции
CGContextTranslateCTM,CGContextScaleCTM, илиCGContextRotateCTM, соответственно. Необходимо обычно только создать аффинное преобразование, если Вы хотите снова использовать его позже.Доступность
Доступный в iOS 2.0 и позже.
-
Идентификационные данные преобразовывают.
Объявление
Swift
let CGAffineTransformIdentity: CGAffineTransformObjective C
const CGAffineTransform CGAffineTransformIdentity;Константы
