Разница между CGAffineTransform в CIIMage и UIImageView - PullRequest
0 голосов
/ 25 ноября 2018

Я играл с 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, но понял, что мне нужно выполнить преобразование непосредственно в изображении.

...