2013-07-26 4 views

답변

2

당신은. 당신이 관심있는 지점을 포괄하는 CGImageRef를 얻을 수 CGDisplayCreateImageForRect을 사용할 수 있습니다 당신은 CGImage이 있으면, 사용자 정의 버퍼에 이미지를 렌더링함으로써 그것의 색상 값을 얻을 수 있습니다, 또는 NSBitmapImageRep'sinitWithCGImage을 사용한 다음 colorAtX:y:을 사용합니다. 아마 장치 색상 공간의 색상을 반환합니다

NSColor *MyColorAtScreenCoordinate(CGDirectDisplayID displayID, NSInteger x, NSInteger y) { 
    CGImageRef image = CGDisplayCreateImageForRect(displayID, CGRectMake(x, y, 1, 1)); 
    NSBitmapImageRep *bitmap = [[NSBitmapImageRep alloc] initWithCGImage:image]; 
    CGImageRelease(image); 
    NSColor *color = [bitmap colorAtX:0 y:0]; 
    [bitmap release]; 
} 

다음 NSBitmapImageRep 방법에 대한 "스택 오버플로 코드 창에 쓰여진"코드는 같을 것이다. 대신 보정 된 RGB 색상 공간에서 색상을 반환하는 것이 유용 할 수 있습니다.

관련 문제