Objective c CoreImage:创建具有纯色的CIImage,并在NSImageView中显示

Objective c CoreImage:创建具有纯色的CIImage,并在NSImageView中显示,objective-c,cocoa,core-image,Objective C,Cocoa,Core Image,我想通过编程生成一个带有纯色填充的矩形图像。 我该怎么做? 我想用inputImage填充inputImageView 这是我到目前为止的代码,但我得到的只是一个空的图像视图: -(void) awakeFromNib{ CIColor *red = [CIColor colorWithRed:1 green:0 blue:0]; CIImage *redImage = [CIImage imageWithColor:red]; NSCIImageRep *ir = [NSCIIm

我想通过编程生成一个带有纯色填充的矩形图像。 我该怎么做? 我想用inputImage填充inputImageView

这是我到目前为止的代码,但我得到的只是一个空的图像视图:

-(void) awakeFromNib{
  CIColor *red = [CIColor colorWithRed:1 green:0 blue:0];
  CIImage *redImage = [CIImage imageWithColor:red];

  NSCIImageRep *ir = [NSCIImageRep imageRepWithCIImage:redImage];

  [self setInputImage:[[NSImage alloc] initWithSize: NSMakeSize(25, 25)]];
  //magic should be happening right here!
  [[self inputImage] addRepresentation:ir];
  [[self inputView] setImage:[self inputImage]];
  [inputView setNeedsDisplay:YES];
}

这个-awakeFromNib所属的类是什么?你的-drawRect:code在哪里?这个类只是AppDelegate。没有drawrect。我需要做的主要事情是创建一个NSImage对象。你想要一个NSImage还是一个CIImage?这个-awakeFromNib属于哪个类,你的-drawRect:code在哪里?这个类就是AppDelegate。没有drawrect。我需要做的主要事情是创建一个NSImage对象。你想要一个NSImage还是一个CIImage?谢谢Rob,这是这个问题的完美答案。最后,我想使用图像作为核心图像过滤器的输入。所以,我想我真的需要两者。你能帮我创建一个CIImage吗?是的,我看到了。首先生成CIImage不是更便宜吗?你每秒这么做几千次,这很重要吗?谢谢Rob,这是一个完美的答案。最后,我想使用图像作为核心图像过滤器的输入。所以,我想我真的需要两者。你能帮我创建一个CIImage吗?是的,我看到了。首先生成CIImage不是更便宜吗?你每秒这么做几千次,这很重要吗?
NSImage *image = [[NSImage alloc] initWithSize:NSMakeSize(25, 25)];
[image lockFocus];
[[NSColor redColor] setFill];
[NSBezierPath fillRect:NSMakeRect(0, 0, 25, 25)];
[image unlockFocus];