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 文件。
所有这些事情都让我变得非常困惑。
非常感谢