2011-11-05 35 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

相關問題