首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式创建ICNS图标?

如何以编程方式创建ICNS图标?
EN

Stack Overflow用户
提问于 2012-09-07 09:14:36
回答 1查看 1.5K关注 0票数 3

好,这就是我想要的:

  • 吃点NSImage
  • 将它们添加到ICNS文件中
  • 省省吧

这是我迄今为止所做的(纯粹是作为一个测试):

代码语言:javascript
复制
- (CGImageRef)refFromImage:(NSImage*)img
{
    CGImageSourceRef source;

    source = CGImageSourceCreateWithData((CFDataRef)[img TIFFRepresentation], NULL);
    CGImageRef maskRef =  CGImageSourceCreateImageAtIndex(source, 0, NULL);

    return maskRef;
}

- (void)awakeFromNib
{
    NSImage* img1 = [NSImage imageNamed:@"image1"];
    NSImage* img2 = [NSImage imageNamed:@"image2"];

    NSLog(@"%@",img1);
    CGImageRef i1 = [self refFromImage:img1];
    CGImageRef i2 = [self refFromImage:img2];

    NSURL *fileURL = [NSURL fileURLWithPath:[@"~/Documents/final.icns" stringByExpandingTildeInPath]]; 
    CGImageDestinationRef dr = CGImageDestinationCreateWithURL((__bridge CFURLRef)fileURL, kUTTypeAppleICNS , 1, NULL);

    CGImageDestinationAddImage(dr, i1, NULL);
    CGImageDestinationAddImage(dr, i2, NULL);
    /* Even tried adding 'multiple' times

    CGImageDestinationAddImage(dr, i1, NULL);
    CGImageDestinationAddImage(dr, i2, NULL);
    CGImageDestinationAddImage(dr, i1, NULL);
    CGImageDestinationAddImage(dr, i2, NULL);

    */

    CGImageDestinationFinalize(dr);

    CFRelease(dr);
}

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

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

我的密码怎么了?

我看过下面的答案,但还是什么也没有:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-07 09:57:39

您可以使用IconFamily

IconFamily是的“图标族”数据类型的Cocoa/Objective包装器。其主要目的是使Cocoa应用程序能够轻松地从NSImage实例中创建自定义文件图标,从而利用Mac的高分辨率RGBA“缩略图”图标格式提供对文件内容的详细缩略图预览。

代码语言:javascript
复制
NSImage *mImage = [[NSImage alloc] initWithContentsOfFile:@"/Users/Username/Desktop/WhiteTiger.jpg"];
IconFamily *fam = [IconFamily iconFamilyWithThumbnailsOfImage:mImage];    
[fam writeToFile:@"/Users/Username/Desktop/WhiteTiger.icns"];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12315162

复制
相关文章

相似问题

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