Finder 工具栏图标在非视网膜显示器上呈锯齿状或消除锯齿
Finder toolbar icons are jagged or anti-aliased on non-retina displays
我正在尝试创建与 Monterey 的外观和感觉相匹配的 Finder 工具栏图标,但它们似乎参差不齐,好像存在抗锯齿问题。
这是我要转换的 Retina 图标(右边两个):
这是它们在我的非视网膜显示屏上的样子:
起初,我以为这只是自动抗锯齿的问题。但是,当我手动将图标调整为 32x32 时,它们应该是这样的:
但是当我在 Finder 中使用这些图标时,它们看起来又是锯齿状的。我不知道发生了什么。
更新
重现步骤:
- 从 this icon pack
中取 icon_terminal_light.icns
- 如果您已有自定义 Finder 工具栏图标,请跳至步骤 6
- 右键单击 Finder 工具栏并选择“自定义工具栏”
- 单击并拖动任何应用程序到工具栏上
- 点击“完成”
- 右键单击您的应用程序并选择“获取信息”
- 单击并拖动
icon_terminal_light.icns
到左上角的图标上
通知:
如果将 Finder 工具栏移至非 Retina 屏幕,图标看起来会变细并且边缘会出现锯齿状。
您甚至可以在预览中打开 icon_terminal_light.icns
,将其调整为 32x32,然后将其导出到新的 icns 文件。 icns 文件在非 Retina 显示器上看起来很平滑,但如果您尝试将它放入工具栏,它会再次出现锯齿状。
Finder 有一个怪癖,当 window 处于活动状态时,工具栏图标的 alpha 层会乘以二。但是,如果 Finder window 在后台,图标可能看起来像您期望的那样。
如果您的图标有任何细图形元素,anti-aliased 像素将具有低 alpha 值。当这些 alpha 值加倍时,像素几乎消失了,这看起来像是正在发生的事情。
我在尝试调整 OpenInTerminal-Light 中提供的图标大小时解决了这个问题。我的解决方案有点乱:
To fix the rendering, I manually resized the icons and added 89% gray behind the anti-aliased pixels. Every pixel has either 0% or 100% alpha now.
您可以在the issue I opened on GitHub中查看更详细的注释。
我正在尝试创建与 Monterey 的外观和感觉相匹配的 Finder 工具栏图标,但它们似乎参差不齐,好像存在抗锯齿问题。
这是我要转换的 Retina 图标(右边两个):
这是它们在我的非视网膜显示屏上的样子:
起初,我以为这只是自动抗锯齿的问题。但是,当我手动将图标调整为 32x32 时,它们应该是这样的:
但是当我在 Finder 中使用这些图标时,它们看起来又是锯齿状的。我不知道发生了什么。
更新
重现步骤:
- 从 this icon pack 中取
- 如果您已有自定义 Finder 工具栏图标,请跳至步骤 6
- 右键单击 Finder 工具栏并选择“自定义工具栏”
- 单击并拖动任何应用程序到工具栏上
- 点击“完成”
- 右键单击您的应用程序并选择“获取信息”
- 单击并拖动
icon_terminal_light.icns
到左上角的图标上
icon_terminal_light.icns
通知:
如果将 Finder 工具栏移至非 Retina 屏幕,图标看起来会变细并且边缘会出现锯齿状。
您甚至可以在预览中打开 icon_terminal_light.icns
,将其调整为 32x32,然后将其导出到新的 icns 文件。 icns 文件在非 Retina 显示器上看起来很平滑,但如果您尝试将它放入工具栏,它会再次出现锯齿状。
Finder 有一个怪癖,当 window 处于活动状态时,工具栏图标的 alpha 层会乘以二。但是,如果 Finder window 在后台,图标可能看起来像您期望的那样。
如果您的图标有任何细图形元素,anti-aliased 像素将具有低 alpha 值。当这些 alpha 值加倍时,像素几乎消失了,这看起来像是正在发生的事情。
我在尝试调整 OpenInTerminal-Light 中提供的图标大小时解决了这个问题。我的解决方案有点乱:
To fix the rendering, I manually resized the icons and added 89% gray behind the anti-aliased pixels. Every pixel has either 0% or 100% alpha now.
您可以在the issue I opened on GitHub中查看更详细的注释。