2011-11-05 74 views
1

我想以编程方式生成具有纯色填充的矩形图像。 我该怎么做? 我想用inputImage填充inputImageView。CoreImage:使用纯色创建一个CIImage并将其显示在NSImageView中

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

-(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]; 
} 
+0

这是什么-awakeFromNib所属,和哪里是你的-drawRect类:代码? – NSResponder

+0

这个类只是AppDelegate。没有错误。我需要做的主要事情是创建一个NSImage对象。 – jacobsimeon

+0

你想要一个NSImage或CIImage吗? –

回答

11
NSImage *image = [[NSImage alloc] initWithSize:NSMakeSize(25, 25)]; 
[image lockFocus]; 
[[NSColor redColor] setFill]; 
[NSBezierPath fillRect:NSMakeRect(0, 0, 25, 25)]; 
[image unlockFocus]; 
+0

感谢罗布,这是一个完美的答案。最终,我想使用该图像作为核心图像过滤器的输入。所以,我想我真的需要两个。你能帮我创建一个CIImage吗? – jacobsimeon

+0

阅读此:http://theocacao.com/document.page/350 –

+0

是的,我已经看到了。首先生成CIImage不会更便宜吗? – jacobsimeon

相关问题