【发布时间】:2009-09-08 10:45:36
【问题描述】:
在将iphone相机拍摄的照片后期制作并保存到相机胶卷后,我看到最终的结果是在没有方向信息的情况下保存。
当 iPhone 读取这些图片时,它会读取orientation = "0",即“使用右侧的 iphone 按钮拍摄”,这样就搞砸了。
如何将图片的方向元数据保存到相机胶卷?
感谢您的帮助。
【问题讨论】:
标签: iphone iphone-sdk-3.0
在将iphone相机拍摄的照片后期制作并保存到相机胶卷后,我看到最终的结果是在没有方向信息的情况下保存。
当 iPhone 读取这些图片时,它会读取orientation = "0",即“使用右侧的 iphone 按钮拍摄”,这样就搞砸了。
如何将图片的方向元数据保存到相机胶卷?
感谢您的帮助。
【问题讨论】:
标签: iphone iphone-sdk-3.0
取决于文件格式:
如果您使用 UIImageJPEGRepresentation() 保存,则方向会正确保存在 exif 数据中。如果你加载一个带有 exif 方向数据的 JPEG 文件,你会得到一个 UIImage,它的 imageOrientation 集和原始 CGImage 数据(未旋转)。
如果您使用 UIImagePNGRepresentation() 保存,它不会将方向保存在 exif 数据(或任何地方)中。如果您加载带有 exif 方向数据的 png,那么它会预旋转 CGImage 数据并始终为您提供一个具有“UIImageOrientationUp”的 imageOrientation 的 UIImage。
我从各种帖子和实验中发现了这一点。
因此显示 PNG 或 JPEG UIImages 的工作方式相同,但处理数据则大不相同。
【讨论】:
如果我没记错的话,唯一的方法是自己以正确的方向渲染处理后的图像,然后保存。
【讨论】: