首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Objective-C -将图像转换为icns

Objective-C -将图像转换为icns
EN

Stack Overflow用户
提问于 2010-12-19 00:31:51
回答 3查看 1.8K关注 0票数 0

我正在尝试为Mac创建一个将图像类型转换为icns文件的应用程序。我想知道怎样才能开始这样做。任何建议都会很好!

谢谢,

凯文

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-19 10:50:13

使用CGImageSource接口(如CGImageSourceCreateWithURLCGImageSourceCreateImageAtIndex)将每个镜像加载到CGImageRef中。然后使用CGImageDestination API(例如,CGImageDestinationCreateWithURLCGImageDestinationAddImageCGImageDestinationFinalize)将任意数量的图像合并到一个图标文件中。CGImageDestinationCreateWithURL的第三个参数是kUTTypeAppleICNS

票数 3
EN

Stack Overflow用户

发布于 2012-09-25 19:29:41

1创建一个名为icon.iconset的文件夹。

2将以下一个或多个图像添加到文件夹中:

代码语言:javascript
复制
icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png

3运行此命令,将创建icon.icns

代码语言:javascript
复制
iconutil -c icns icon.iconset

http://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html#//apple_ref/doc/uid/TP40012302-CH7-SW2

票数 1
EN

Stack Overflow用户

发布于 2013-03-28 00:01:15

将包含图标的NSImage文件保存为TIFF文件(使用NSData* tiff = [image TIFFRepresentation];创建包含该文件的NSData,然后使用[tiff writeToFile:tiffFile atomically:YES];将其保存在某个文件夹中),然后使用NSTask使用tiff2icns将该文件转换为ICNS文件。

代码语言:javascript
复制
tiff2icns /Users/Me/Desktop/pic.tiff /Users/Me/Desktop/pic.icns

现在,完整代码的示例(图像是图标的NSImage文件,而iconFile是包含icns的最终位置的NSString ):

代码语言:javascript
复制
    NSString* tiffFile = [NSString stringWithFormat:@"%@.tiff",iconFile];

    NSData* tiff = [image TIFFRepresentation];
    [tiff writeToFile:tiffFile atomically:YES];

    NSTask *task = [[NSTask alloc] init];
    [task setLaunchPath:@"/usr/bin/tiff2icns"];

    [task setArguments:[NSArray arrayWithObjects:tiffFile, iconFile, nil]];
    [task launch];
    [task waitUntilExit];

    [[NSFileManager defaultManager] removeItemAtPath:tiffFile error: NULL];

就是这样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4478925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档