gpt4 book ai didi

macos - 始终在非视网膜显示屏上使用的图像的视网膜版本

转载 作者:行者123 更新时间:2023-12-03 16:13:10 28 4
gpt4 key购买 nike

在 Cocoa 应用程序中,我有 16x16 和 32x32 @2x 版本的图像:small enter image description here 。当图像在 NSImageView 中显示时,Mac OS X总是选择更高分辨率的版本(即在非视网膜显示器上缩小 @2x 图像,而不是使用 1:1 版本)。

wrong image
(左侧的 IB = 良好,右侧正在运行的应用程序 = 缩小的困惑)

当然,我已将两个图像添加到项目中(作为 image.pngimage@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

如果两个文件都被迫使用相同的颜色模式(即均为灰色或均为调色板),则 OS X 会正确选择图像。

关于macos - 始终在非视网膜显示屏上使用的图像的视网膜版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660082/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com