gpt4 book ai didi

macos - 10.5 Leopard 上支持 Retina 的 .icns 图标文件(大小限制?)

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

我正在尝试创建我的应用程序图标的视网膜就绪版本。该应用程序的目标是 10.5+。我正在使用 Uli Kusterer 的 oldiconutil在 10.8 上使用 iconutil 对我从 .iconset 制作的 .icns 文件进行后期处理。问题是,如果我包含 1024x1024 图标(“icon_512x512@2x.png”),则该图标不会在 10.5 上显示。 Finder 不显示图标,并且当在 10.5 上的 Icon Composer 中打开它时,它看起来是空白/空的。如果我删除这个最大尺寸,图标将在 10.5 上正确显示。有趣的是,如果我用更小的文件大小(~300K 而不是~1MB)替换完全不同、更简单的 1024x1024 图像,则该图标在 10.5 上再次正常工作。因此,似乎整个 .icns 文件和/或 .icns 文件中的各个图像 block 的文件大小可能存在一些限制,超出时会破坏与 Leopard 的兼容性。

使用 TinyPNG 压缩 1024x1024 图像还不足以解决问题。在通过 oldiconutil 运行之前,它确实产生了一个明显更小的 .icns 文件,但 oldiconutil 最终的 JPEG2000 压缩输出仍然比使用更简单的替代图像的变体大得多,大概是因为更复杂的图像根本无法压缩。

之前有其他人遇到过这个问题吗?你找到解决办法了吗?如果我无法找到解决方案,我将不得不忽略视网膜就绪应用程序图标,直到放弃对 10.5 的支持。

最佳答案

使用 TinyPNG 是正确的想法,但是当您使用 oldiconutil 创建 .icns 文件时,它会将它们转换为 JP2,JP2 更大并导致问题。

通过使用十六进制编辑器,您可以找到各个图标并将特定的 JP2 版本替换为 TinyPNG 版本。您还需要编辑 icns header 中的文件长度字节(字节 5-8)以及换出的任何图标的图标图像长度字节(ic## 类型后面的 4 个字节)。

我建议您仅替换视网膜图标(ic10、ic11、ic12、ic13、ic14),因为较旧的操作系统版本可能无法使用 PNG 图像。

如果您的大小刚刚超过 1MB,您可以仅替换最大的图标以低于限制。这将使大多数图标采用更兼容的 JP2 格式,仅保留 PNG 512@2x (ic10) 图标。

希望这有帮助。

关于macos - 10.5 Leopard 上支持 Retina 的 .icns 图标文件(大小限制?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12772346/

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