ios - 将图像转换为 CGImage 时丢失图像方向

标签 ios swift uiimage cgimage

从矩形原始图像中裁剪图像的正方形部分时,我遇到了图像方向问题。当图像处于横向时,它很好。但是当它是纵向时,似乎没有保留图像方向,这导致图像方向错误和裁剪错误:

 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/

相关文章:

ios - 在 native IOS 应用程序中加载多个 Cordova 微应用程序

ios - 如何通过依赖注入(inject)使用属性初始化编程 UITableViewCell?

swift - 什么时候不需要使用 lambda 执行来初始化惰性变量?

ios - 创建家长控制应用程序 iOS

objective-c - 有没有办法清除 UIImage 类使用的缓存?

ios - UIImageView 的内存泄漏

iphone - UITextField 文本更改回调

ios - 保持任务在 View 之间运行 React Native

iOS 图表 - 图表底部出现空白线

iphone - (iphone)快速 UIImage 合成(合并)?