问题标签 [icns]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1475 浏览

objective-c - 如何以编程方式创建 ICNS 图标?

好的,这就是我想要的:

  • NSImage一些
  • 将它们添加到ICNS文件中
  • 保存

这是我到目前为止所做的(纯粹作为测试):

但是,它仍然不断抛出错误:

ImageIO:CGImageDestinationFinalize 图像目的地没有足够的图像

我的代码有什么问题?


我已经看过下面的答案,但仍然没有:

0 投票
1 回答
1080 浏览

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

我正在尝试创建我的应用程序图标的视网膜就绪版本。该应用程序的目标是 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 文件中的单个图像块的文件大小可能存在一些限制,当超出时会破坏与 Leopard 的兼容性。

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

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

0 投票
2 回答
1565 浏览

png - 如何命令 Automator 一次将多个图像从 PNG 转换为 ICNS?

我使用 OS X Mountain 10.8.2。

我使用 Automator 并添加了 AppleScript,从Iconoodle 的旧应用程序开发人员那里复制命令 - 方便的 ICNS 到 PNG 图像转换(OS X 10.8 作为 PPC 应用程序不支持 Iconoodle)。我将工作流程保存为应用程序。我选择了图像并将它们放入应用程序,但图像没有转换为 ICNS。我还从问题Convert image to .icns file AppleScript Obj-C 中复制了它,它也没有工作。

我真的很沮丧。我想使用 Automator 将多个图像从 PNG 转换为 ICNS 一次。在图标编辑器应用程序中将每个图像转换为 ICNS 非常烦人,一对一。Preview.app 不想将 PNG 格式的图像转换为 ICNS,因为它只有一页,只有当图标有很多页时,它才能将其转换为 ICNS。

你知道做吗?

感谢您的关注、帮助和耐心!

0 投票
2 回答
1223 浏览

macos - 创建 ICNS 文件时出现 ImageIO 错误

此代码 (sourceNSMutableArray带有NSImage对象的:

导致以下输出:

2012-12-26 13:48:57.682 Eicon[1131:1b0f] |NSImage 0x1025233b0 Size={11.52, 11.52} Reps=("NSBitmapImageRep 0x10421fc30 Size={11.52, 11.52} ColorSpace=(尚未加载) BPS=8 BPP =(尚未加载)像素=1024x1024 Alpha=NO Planar=NO 格式=(尚未加载)CurrentBacking=nil(故障)CGImageSource=0x104221170”

(...) <- 这里记录了其他 NSImage 实例。

ImageIO:|错误| CGImageDestinationFinalize 图像目的地没有足够的图像

任何想法为什么它以错误结尾?(顺便说一句,我想改用 IconFamily 但它使用的很多方法都已弃用)。

编辑:也许更重要的是提及我用来生成图像的代码,如果该代码有问题(我是菜鸟),我不会感到惊讶:

0 投票
1 回答
940 浏览

macos - 以编程方式创建 ICNS:“不支持的图像大小”

我正在尝试以编程方式创建 ICNS(包括 1024x1024 图像)。目前我正在创建一个NSImage,然后我创建CGImageRef具有适当分辨率的对象,最后我通过使用将它们添加到图标中CGImageDestinationAddImage()。Peter Hosey 已经帮助我创建了“@2x”图像,但不想设置图像的大小。

这是代码(还是有点乱,sourcefile代表图片的路径):

size是当前图像的宽度或高度。dpi如果我们正在制作“@2x”图像,则为 144,否则为 72。这些值已用NSLog.

生成的 ICNS 文件中的图像都与输入图像大小相同。如果输入图像的大小是 1024x1024,ImageIO 会报错:

ImageIO:_CGImagePluginWriteICNS 不支持的图像大小(1024 x 1024) - 缩放因子:1

每次dpi为72,大小为1024x1024时都会显示上述错误。

我需要知道如何设置要添加到 ICNS 文件的 CGImage 的大小。


编辑:我记录了图像:

2012-12-31 12:48:51.281 Eicon[912:680f] |NSImage 0x101b4caf0 大小={512, 512} 代表=(

Planar=NO Format=(尚未加载) CurrentBacking=nil (faulting) CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.058 Eicon[912:680f] |NSImage 0x101b4caf0 大小={512, 512} 代表=(

格式=2 当前支持=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.111 Eicon[912:680f] |NSImage 0x101b4caf0 大小={256, 256} 代表=(

格式=2 当前支持=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.238 Eicon[912:680f] |NSImage 0x101b4caf0 大小={256, 256} 代表=(

格式=2 当前支持=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.309 Eicon[912:680f] |NSImage 0x101b4caf0 大小={128, 128} 代表=(

格式=2 当前支持=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.409 Eicon[912:680f] |NSImage 0x101b4caf0 大小={128, 128} 代表=(

格式=2 当前支持=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.534 Eicon[912:680f] |NSImage 0x101b4caf0 大小={32, 32} 代表=(

CurrentBacking=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.616 Eicon[912:680f] |NSImage 0x101b4caf0 大小={32, 32} 代表=(

CurrentBacking=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.729 Eicon[912:680f] |NSImage 0x101b4caf0 大小={16, 16} 代表=(

CurrentBacking=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

2012-12-31 12:48:52.864 Eicon[912:680f] |NSImage 0x101b4caf0 Size={16, 16} Reps=(

CurrentBacking=|CGImageRef: 0x101c14630| CGImageSource=0x10380ae70"

)|

0 投票
2 回答
1046 浏览

c++ - 如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以分发?

跟进这个问题的答案,我想要一套清晰的分步说明,说明如何在 OS X 上为 Qt 应用程序设置应用程序图标,足以通过安装程序和/或通过应用商店。

说明应包括如何设置图标的四种大小,如上面链接答案中所引用的。

请记住,我在分发 OS X 应用程序、为 OS X 应用程序构建安装程序或为 OS X 应用程序设置出现在 Finder 栏中的图标方面没有经验。相反,我是一位经验丰富的 C++ 程序员(主要在 Windows 和 Linux 上)。

我特别寻求一套清晰的、循序渐进的说明。

0 投票
1 回答
2622 浏览

macos - 从 Adob​​e Illustrator 中导出 ICNS 图标

我在 Adob​​e Illustrator (CS6) 中为我自己的 Mac OS X 应用程序创建了一个图标。如何将图标导出为 Apple 的 .icns 图标格式?.icns 文件应包含多种分辨率的图标。

0 投票
2 回答
682 浏览

macos - 从 1024 * 1024 大小的 NSImage 以编程方式创建图标 (ICNS)

我正在尝试以编程方式从 1024x1024 图像创建大小为 120 * 120 的 ICNS。目前我正在创建一个 NSImage,然后创建具有适当分辨率的 CGImageRef 对象,最后我使用 CGImageDestinationAddImage() 将它们保存到路径中。

我浏览了各种链接,其中一个是: 以编程方式创建 ICNS:“不支持的图像大小”

但问题是,代码生成了相同大小的图标文件。(1024 * 1024)

这是代码:

输入路径使用的图像为 1024 * 1024 像素。“1024 x 1024 像素元素的正确规格是 512 点 @ 2x。这是 (NSSize){ 512.0, 512.0 } (点)的大小(图像和代表),代表为 1024 像素宽和 1024 像素高。” 注意:这已被处理,但仍然没有成功。

0 投票
4 回答
2301 浏览

macos - 使用 Application Loader 提交应用程序时“缺少必需的图标”

使用Application Loader工具提交我的应用程序时,出现以下错误:

我的图标(由Info.plist文件引用)包含这两个文件,因为它是使用以下命令创建的:

其中icon.iconset文件夹包含以下项目:

我的图标有什么问题?

编辑

我的Info.plist文件:

0 投票
0 回答
101 浏览

macos - Unity3d - 未生成 PlayerIcon.icns

我想知道为什么没有使用 Unity 命令行为独立 MacOSX 构建生成 PlayerIcon.icns,因为知道它是使用 Unity 编辑器生成的。

谢谢