我正在使用 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/