【发布时间】:2012-05-13 21:13:02
【问题描述】:
MacOS 10.7.4 带有新图标,其图像代表为 144 DPI。不好的是,当我在 NSImage 中加载其中一个图标时,我只能得到大小为 512px 的代表。我的意思是:我在 NSImage 中加载了一个 1024px/144dpi icns 文件,然后我询问每个图像代表的大小......没有代表的大小为 1024px,我只得到最大的大小。 512px(无论代表是否具有 72dpi 而不是 144dpi 的分辨率:实际上 10.7.4 中的新图标,如 TextEdit 或 Automator,除了 1024px 存在于 144dpi 的单个代表中之外,每种尺寸都有两种分辨率的代表)。
为什么 NSImageRep 似乎不了解它的真实分辨率?为什么我只会在 1024px/144dpi 而不是例如 512px/144dpi 上遇到这个问题?
如果我读取 NSImage 的 TIFFRepresentation 并将其写回一个文件,我会得到一个正确的 1024px/144dpi TIFF 文件,而如果我通过 CGImageSource/CGImageDestination 编写与 kUTTypeTIFF 相同的 NSImage,我会得到一个 1024px/72dpi 文件.
所有这些都让我很困惑。
非常感谢
【问题讨论】:
标签: objective-c size tiff nsimage nsimagerep