如何获得UIImage的dpi/ppi?[英] How to get dpi/ppi of UIImage?

本文是小编为大家收集整理的关于如何获得UIImage的dpi/ppi?的处理方法,想解了如何获得UIImage的dpi/ppi?的问题怎么解决?如何获得UIImage的dpi/ppi?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

如何在 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了解更多信息.

本文地址:https://www.itbaoku.cn/post/924326.html