调整大小时使用“UIImage+Resize.m”获取正确方向的图像。但我不想丢失 Image Exif 数据。所以尝试再次写入Exif数据,例如
CGImageDestinationAddImageFromSource(destination, resized, 0, imagePropertiesDictionary);
现在我得到了 exif 数据,但是图像会根据 Exif 数据中图像的方向属性进行旋转。有没有办法在不丢失 Exif 数据的情况下获得适当的图像调整大小的图像?
调整大小时使用“UIImage+Resize.m”获取正确方向的图像。但我不想丢失 Image Exif 数据。所以尝试再次写入Exif数据,例如
CGImageDestinationAddImageFromSource(destination, resized, 0, imagePropertiesDictionary);
现在我得到了 exif 数据,但是图像会根据 Exif 数据中图像的方向属性进行旋转。有没有办法在不丢失 Exif 数据的情况下获得适当的图像调整大小的图像?
这当然取决于您如何调整 exif 维护的图像大小。在大多数情况下,调整大小并将其保存回 iPhone 会导致 Exif 信息丢失。一种可能的解决方案是获取 exif 数据,然后调整图像大小。然后重写exif。
您可以编写方向属性以覆盖原始属性
[imagePropertiesDictionary setObject:[NSNumber numberWithInt:orientation] forKey:@"Orientation"];
但确保 imagePropertiesDictionary 是 NSMutableDictionary
// case UIDeviceOrientationLandscapeLeft: return 1; // Top, left
// case UIDeviceOrientationPortrait: return 6; // Right, top
// case UIDeviceOrientationLandscapeRight: return 3; // Bottom, right
// case UIDeviceOrientationPortraitUpsideDown: return 8; // Left, bottom