我正在使用 AVCaptureSession 从相机捕获图像:

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection

图像被转换为​​ UIImage 并添加到 ImageView 中。正如预期的那样,图像以纵向显示。

我正在尝试将图像保存到捕获 session 之间的核心数据中。我的核心数据实体具有二进制数据类型的图像属性。
coreDataEntity.image = UIImagePNGRepresentation(imageView.image);

一旦用户重新加载先前保存的 session , ImageView 将使用以下方法恢复其图像:
 imageView.image = [UIImage imageWithData:coreDataEntity.image];

但是,恢复的图像逆时针旋转 90 度,顶部指向左侧。

图像在哪一点旋转? 是在保存期间还是在从核心数据加载期间?

我有一种方法可以将 UIImage 旋转 90 度,但似乎在随后重新加载同一图像时,它会额外旋转 90 度。我怎么知道我已经旋转了一次 UIImage?

感谢您的任何帮助!

最佳答案

一年后你可能自己解决了这个问题,但我最近自己也遇到了这个问题,我想我会提出我的解决方案。

我将存储的图像格式更改为 JPEG。

改变

coreDataEntity.image = UIImagePNGRepresentation(imageView.image);


coreDataEntity.image = UIImageJPEGRepresentation(imageView.image,1.0f);

图像恢复如前
imageView.image = [UIImage imageWithData:coreDataEntity.image];

希望这可以帮助某人。

关于从核心数据加载的 iPhone UIImage 逆时针旋转 90 度。怎么修?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10245649/

10-09 06:31
查看更多