gpt4 book ai didi

ios - 在 Xcode 中,如何以编程方式从 .icns 文件中提取 .png 图像?

转载 作者:行者123 更新时间:2023-12-01 18:58:41 40 4
gpt4 key购买 nike

iOS7 和 Xcode 的初学者。如果我理解得很好,.icns 文件是一个容器而不是图像。它包含不同尺寸和不同扩展名(例如 png、jpg)的图标和可能的其他内容。对还是错?

如果是这样,有没有办法从这个文件中提取 512x512.png 版本的图标?有人告诉我必须使用 NSdata 来获取 .icns 文件的内容,然后将其子串化以获取图像数据。但是我不知道 512x512.png 的代码块从哪里开始到哪里结束?

我希望我正确地提出了我的问题。我对此很陌生。

感谢您的帮助

最佳答案

我没有准备好任何代码(尽管您可能想查看 libicns )。

基本上,您必须按顺序读取文件内容。首先,您阅读标题(8 个字节)。然后在标题之后,您逐个阅读图标。每个图标以包含类型和长度的 8 字节标题开头。您阅读了类型和长度,如果类型不匹配,则跳过该图标并继续下一个。

找到所需的图标后,您可以提取它。它在长度字段之后开始,长度为 8 字节长(长度包括仅 icns 文件格式需要的 header )。

请注意,长度以最高有效位在前(大端)存储,但 iOS 是小端。所以你需要转换数字。

图标类型可以被视为四个字符的字符串(没有尾随零)或无符号的 4 字节数字。一些编译器可以处理 'ic09'作为无符号整数常量(注意单引号与字符串的双引号)。

关于ios - 在 Xcode 中,如何以编程方式从 .icns 文件中提取 .png 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24567389/

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