我有一种用手势(缩放,旋转和平移)转换图像的方法。手势会修改应用于图像视图的CGAffineTransform
。这很有效。
self.imageView.transform = transform;
现在我想使用CoreImage(出于各种原因):
CIImage *outputCIImage = [self.ciImage imageByApplyingTransform:transform];
CGImageRef cgImage = [self.context createCGImage:outputCIImage fromRect:self.imageView.bounds];
self.imageView.image = [UIImage imageWithCGImage:cgImage];
然而,由于CoreImage具有不同的坐标系,因此手势在Y轴上翻转:
根据this post的建议,我可以通过应用此修正来修复手势以使其全部正常工作:
CGAffineTransform flipYTransform = CGAffineTransformMake(1, 0, 0, -1, 0, self.view.bounds.size.height);
transform = CGAffineTransformConcat(transform, flipYTransform);
然而整个图像都被翻转了。如何将转换从UIImage转换为CoreImage?