从矩形原始图像中裁剪图像的正方形部分时,我遇到了图像方向问题。当图像处于横向时,它很好。但是当它是纵向时,似乎没有保留图像方向,这导致图像方向错误和裁剪错误:
func cropImage(cropRectangleCoordinates: CGRect) {
let croppedImage = originalImage
let finalCroppedImage : CGImageRef = CGImageCreateWithImageInRect(croppedImage.CGImage, cropRectangleCoordinates)
finalImage = UIImage(CGImage: finalCroppedImage)!
}
我认为问题出在 croppedImage.CGImage
上。这里图像被转换为 CGImage
,但它似乎没有保留方向。
仅使用 UIImage
很容易保持方向,但要进行裁剪,图像需要暂时为 CGImage
,这就是问题所在。即使我在转换回 UIImage
时重新调整图像方向,它可能方向正确,但在裁剪 CGImage
时损坏已经完成。
这是一个快速的问题,所以请快速回答,因为在 Objective-C 中解决方案可能不同。
最佳答案
SWIFT 3:
通过此方法将旋转的cgImage转换为UIImage
UIImage(cgImage:croppedCGImage, scale:originalImage.scale, orientation:originalImage.imageOrientation)
来自@David Berry 的回答
关于ios - 将图像转换为 CGImage 时丢失图像方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28478293/