gpt4 book ai didi

objective-c - 从 NSColor 创建 NSImage

转载 作者:太空狗 更新时间:2023-10-30 03:17:47 26 4
gpt4 key购买 nike

我有一个包含颜色列表的 NSPopUpButton。在颜色标题前,我需要显示一个相同颜色的小框(可能是相同颜色的图像)。所以,我在想,如果我可以使用 NSColor(已经存在)创建一个 NSImage,那么我可以使用 -[NSMenuItem setImage:] 方法在弹出按钮的颜色标题前显示图像。

那么,如何使用 NSColor 创建一个 NSImage

也欢迎任何其他解决问题的方法。 :)

最佳答案

一个简单的分类方法就可以做到这一点

@interface NSImage (ImageAdditions)

+(NSImage *)swatchWithColor:(NSColor *)color size:(NSSize)size;


@end

@implementation NSImage (ImageAdditions)

+(NSImage *)swatchWithColor:(NSColor *)color size:(NSSize)size
{
NSImage *image = [[[NSImage alloc] initWithSize:size] autorelease];
[image lockFocus];
[color drawSwatchInRect:NSMakeRect(0, 0, size.width, size.height)];
[image unlockFocus];
return image;
}

@end

[编辑] 删除已弃用的 API

关于objective-c - 从 NSColor 创建 NSImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11224131/

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