问题描述
如何在 iOS 中获取图像的 dpi/ppi?也许原始图像文件包含这些信息,所以我可以从 NSData 获取 ppi/dpi?谢谢.
推荐答案
要从存储在 NSData 中的图像中提取 DPI,请在项目中包含 Apple 的 ImageIO 框架并使用以下内容:
#import <ImageIO/ImageIO.h> // Set your NSData up NSData *data = some image data // Get the DPI of the image CGImageSourceRef imageRef = CGImageSourceCreateWithData((__bridge CFDataRef)(data), NULL); CFDictionaryRef imagePropertiesDict = CGImageSourceCopyPropertiesAtIndex(imageRef, 0, NULL); NSString *dpiHeight = CFDictionaryGetValue(imagePropertiesDict, @"DPIHeight"); NSString *dpiWidth = CFDictionaryGetValue(imagePropertiesDict, @"DPIWidth");
请注意,并非所有图像都包含 DPI 信息.它可能包含在图像的元数据中,也可能不包含.
此答案基于 Flar49 的答案,该答案是正确的,但经过增强以直接从 NSData 获取信息.请参阅 http://iosdevelopertips.com/data-file-management/get-image-data-including-depth-color-model-dpi-and-more.html了解更多信息.
相关问答
相关标签/搜索