Kor*_*nel 4 macos cocoa retina-display
在Cocoa应用程序中,我有16x16和32x32 @2x版本的图像:
.当图像在NSImageView中显示时Mac OS X 总是选择更高分辨率的版本(即@2x在非视网膜显示器上缩小图像而不是使用1:1版本).

(左边的IB =好的,右边正在运行的app =缩小的混乱)
当然,我已经将两个图像添加到项目中(as image.png和image@2x.png).
如果我@2x从应用程序包中删除图像,则OS X将显示较低分辨率的图像.
无论Xcode(4.6.2)是否将它们组合成.tiff(并且我已经检查过组合的.tiff包含两个图像),都会发生错误.
奇怪的是,这只发生在这个特定的图像上.相同项目中的其他1x/2x图像与屏幕DPI正确显示.
怎么可能?!图像必须满足除大小和文件名模式以外的一些特殊标准吗?
神秘解决:OS X不喜欢混合类型的PNG.
$ file *.png
image.png: PNG image data, 16 x 16, 8-bit gray+alpha, non-interlaced
image@2x.png: PNG image data, 32 x 32, 8-bit colormap, non-interlaced
Run Code Online (Sandbox Code Playgroud)
如果两个文件都被强制使用相同的颜色模式(即灰色或两个调色板),则OS X会正确选择图像.
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |