2011-11-05 3 views
1

단색 채우기로 프로그래밍 방식으로 직사각형 이미지를 생성하고 싶습니다. 어떻게해야합니까? inputImageView를 inputImage로 채 웁니다.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

감사합니다. Rob,이 질문에 대한 완벽한 대답입니다. 궁극적으로 이미지를 코어 이미지 필터의 입력으로 사용하고 싶습니다. 그래서, 나는 둘 다 정말로 필요하다고 생각합니다. CIImage도 만들 수 있습니까? – jacobsimeon

+0

읽어보기 : http://theocacao.com/document.page/350 –

+0

네, 그걸 보았습니다. 먼저 CIImage를 생성하는 것이 덜 비쌉니까? – jacobsimeon

관련 문제