从CGImageRef获取分辨率

时间:2010-08-09 14:23:04

标签: cocoa quartz-graphics cgimage

我正在创建一个CGImageRef,在一种情况下,通过CGImageSource创建一个TIFF文件,在另一种情况下,通过CGDataProvider创建原始位图数据,在另一种情况下,通过NSImage从PDFPage创建。我需要知道CGImage的分辨率。有没有一种简单的方法可以找到它?

在PDFPage的情况下,我应该能够获得像素宽度和点宽度并进行算术运算。 但是,在另外两种情况下,我没有看到从源获得分辨率(或点宽度,物理宽度或类似的东西)的方法。

实际上,在Raw位图的情况下,我有单独的分辨率,但我想我想知道我是否需要单独携带它,或者是否有一种巧妙的方法可以将它从CGImageRef中取出...

1 个答案:

答案 0 :(得分:1)

CGImage对象是没有大量元数据的纯位图图像。它们不携带物理图像大小或分辨率(像素尺寸除外)等信息。您必须从首先获得图像的来源获取此数据。对于图像文件,NSImage具有大小属性​​。