objective-c确定图像分辨率

时间:2011-08-05 19:28:18

标签: objective-c ios cocoa-touch cocoa macos

出于某种原因,我无法理解。

UIImage *image = //initialize with some image, etc.

有没有办法获得图像的分辨率?

2 个答案:

答案 0 :(得分:6)

你的意思是宽度/高度吗?

CGFloat width = image.size.width
CGFloat height = image.size.height

答案 1 :(得分:2)

要查找图片的尺寸,您可以使用size上的UIImage属性。可以通过scale属性找到DPI(分辨率/比例)。以下是Apple's documentation的参考:

  

图像的比例因子。 (只读)

@property (nonatomic,readonly) CGFloat scale
     

<强>讨论

     

如果从名称中包含@ 2x修改器的文件加载图像,则比例设置为2.0。如果文件名不包含修饰符但是是PNG或JPEG格式且具有关联的DPI值,则会计算相应的比例因子并将其反映在此属性中。您还可以在从Core Graphics图像初始化图像时指定显式比例因子。假设所有其他图像的比例因子为1.0。

     

如果将图像的逻辑大小(存储在size属性中)乘以此属性中的值,则会得到图像的尺寸(以像素为单位)。

     

对于普通图像,比例为1.0。对于JPG / PNG图像,比例可能不同。此外,如果您的图像名称在扩展名之前具有“@ 2x”,则UIImage会假定其比例为2.0。