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

2024-03-10

In Cocoa application I've got 16x16 and 32x32 @2x version of an image: small enter image description here. When the image is displayed in NSImageView Mac OS X always picks higher-resolution version (i.e. downscales the @2x image on non-retina displays instead of using the 1:1 version).

wrong image
(IB on the left = good, running app on the right = downscaled mess)

当然,我已将两个图像添加到项目中(如image.png and [email protected] /cdn-cgi/l/email-protection).

如果我删除@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
[email protected] /cdn-cgi/l/email-protection: PNG image data, 32 x 32, 8-bit colormap, non-interlaced

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

始终在非视网膜显示屏上使用的图像的视网膜版本 的相关文章

随机推荐

  • 如何使用 ng-repeat track by $index 创建的量角器选择元素?

    我需要选择 ng repeat 创建的文本框并使用 sendKeys 函数发送一些值 但我不确定选择文本框的方法 请建议一种方法来完成此任务 或者我应该使用 css 选择器来代替 div class qst input hld ng sco
  • 使用 fopen 时出现段错误

    我从以下代码的第二行收到段错误 FILE output NULL output fopen output2 txt w 我不认为这是某种损坏的内存错误 因为当我将 w 更改为 r 时 它运行时没有段错误 另外 它似乎是在出现段错误之前创建该
  • ng-show/ng-if 不会立即更新 dom 高度

    我有一个很长的 div 它是由 ng hide 隐藏 显示的 这是一个基于离子的示例demo http codepen io leonz full bEqbKM 单击该按钮可以显示或隐藏 longDiv 如果您尝试在隐藏或显示页面后立即滚动
  • 如何从 pandas groupby 对象创建多个数据框

    我正在尝试在多索引数据帧 df 上使用 groupby 创建新的数据帧 级别 0 是字符串标识符 级别 1 是日期时间索引 最终我想确定每个 vsl 与每个 DIV 和 DIS 关联的总时间 这是 df 的片段 DIV DIS vsl Be
  • 派生类中的 sizeof(*this) 和 decltype(*this)

    假设有类 struct A int a virtual size t GetMemoryUsage const return sizeof this struct B public A int b 而且可能还有更深层次的传承 我想要的是有一
  • 下面的 for 循环语法在 C 中意味着什么?

    我遇到了这个语法 不知道它意味着什么 for do stuff like read from a handle etc 我仍然处于 C 语言的学习曲线上 所以如果你愿意的话 如果这是一个蹩脚的问题 请投票否决 这是一个无限循环 与 一样wh
  • Jersey:禁用默认 JSON 提供程序

    我正在使用 Jersey 2 17 JSON 和自动功能发现 我有我的自定义 JSON Provider 扩展JacksonJsonProvider 它的注释是 Provider并自动注册 与附带的默认注册相同
  • React - 单个组件的动画安装和卸载

    这么简单的事情应该很容易完成 但我却对它的复杂程度感到抓狂 我想做的就是为 React 组件的安装和卸载设置动画 仅此而已 以下是我迄今为止尝试过的方法以及每个解决方案不起作用的原因 ReactCSSTransitionGroup 我根本没
  • 类型“HttpRequestMessage”在未引用的程序集中定义

    当我在本地构建时它可以工作 但我的 VSTS 托管 2017 实例构建失败并显示以下消息 error apps Ascend Identity AccountController cs 126 17 Error CS0012 The typ
  • 将多个图包裹在一个图像中

    我试图将许多图包装在一起 因为它们密切相关 使用 1 个连续变量和 1 个分类变量显示密度 按一周中的某一天细分 其中每一天都是不同的图 在 R 中 我可以使用grid arrange from gridExtra or facet wra
  • 如何在普通的
    中使用 而不是

    我有一个使用标准 HTML 的搜索表单
  • 制定紧凑的隐私政策

    我正在研究使用 cookie 进行跟踪的想法 并注意到我当前的网站没有紧凑的隐私政策 我用谷歌搜索了一下 有很多方法可以创建它们 但要付出一定的代价 只是想知道是否有一种方法可以在不付费的情况下做到这一点 有任何想法吗 我正忙着同样的事情
  • Angular 2+ 中的 Azure Graph / Microsoft Graph 查询

    我想在 Angular 5 Web 应用程序中从 Azure Active Directory 查询应用程序角色和组声明 我想授予管理员对页面的特殊权限 访问权限 我在 Azure 中注册了一个 B2C 应用程序 在以下地址注册了一个 Mi
  • 如何获取redis中的所有集合?

    我知道 KEYS 命令 但它只返回键 我猜测所有类型为 String 的键 并且显然集合不被视为键 有没有获取数据库中所有集合的命令 其他数据类型 散列 列表 排序集 怎么样 http redis io topics data types
  • 如何保持 RTSP 会话存活?

    我尝试在 Google Nexus S 2 3 7 HTC Desire 2 3 3 和 Samsung Galaxy 3 2 上进行流式传输 只有 Google Nexus 存在 RTSP 会话超时问题 我阅读了一些关于这个问题的帖子 似
  • 将 GeoDataFrame 多边形转换为 kml 文件

    我有一个 geopandas GeoDataFrame 其中包含各种多边形和颜色 我用它来绘制气象数据 我问的另一个问题here https stackoverflow com questions 35516318 plot colored
  • JS 代理 HTML5 画布上下文

    我希望代理画布 API 这样我就可以测试抽象方法是否确实绘制到画布上 但是我遇到了代理后出现错误的问题 strokeStyle setter called on an object that does not implement inter
  • 相对于页面滚动背景

    这是我第一次使用 Stack Overflow 所以如果我的问题有点冗长 我深表歉意 我有点为难 我想创建这种视差滚动效果 其中背景图像 其高度大于窗口的高度 始终与页面上的进度直接相关地滚动 例如 当您向下滚动页面 25 时 背景图像应该
  • 如何使用 JavaScript 在 IE 6 7 8 9 中分离事件

    这是部分代码 不是完整版本 我有一个荧光笔 可以在以下情况下突出显示特定的 html 元素 鼠标悬停 我也有一个点击事件和监听器 我的问题是 荧光笔事件 侦听器使用 Internet Explorer v6 v7 v8 v9 时不分离 我究
  • 始终在非视网膜显示屏上使用的图像的视网膜版本

    In Cocoa application I ve got 16x16 and 32x32 2x version of an image When the image is displayed in NSImageView Mac OS X