Я играл с CGAffineTransform
и заметил, что преобразование изображения из UIImageView
имеет другой эффект, чем преобразование его непосредственно через CIImage
.Вот код:
let totalTransformationAndRotation = CGAffineTransform(rotationAngle: x)
// How I transform using the imageview
self.keyImage.transform = totalTransformationAndRotation
// How I transform using the image
var coreImage:CIImage? = myImage!.ciImage
if coreImage == nil {
coreImage = CIImage(cgImage: myImage!.cgImage!)
}
coreImage = coreImage?.transformed(by: totalTransformationAndRotation)
При отдельном использовании эти два преобразования получаются совершенно по-разному.Я понимаю, что единица измерения для dx и dy преобразования CIImage
и dx и dy преобразования UIImageView
, но даже вращения имеют другой результат.Мне кажется, что при вращении в CIImage
.Поворот центрируется вокруг нижнего левого угла, в то время как в UIImageView
он центрируется вокруг центра изображения.
Можно ли вращать, масштабировать и перемещать изображение UIImage / CIImage и иметь тот же эффект, что иесли вы применили те же преобразования к UIImageView?
Редактировать: я пытаюсь преобразовать UIImage
, вращая, масштабируя и переводя.Я получил желаемый эффект, применив преобразование к свойству UIImageView
transform, но понял, что мне нужно выполнить преобразование непосредственно в изображении.