在Mac的Cocoa上,你如何获得屏幕上任何一点的RGB值?

时间:2011-03-27 08:38:50

标签: cocoa

我试过

  CGPoint pt;
  pt.x = x;
  pt.y = y;

  NSColor* color = NSReadPixel(pt);
  float colourValue = [color greenComponent] + [color redComponent]+ [color blueComponent];
  printf("%f\n", colourValue);

但它总是打印出0.0000

(如果您知道一种方法来“设置”屏幕上像素的值,谢谢)

1 个答案:

答案 0 :(得分:2)

This CocoaDev page有几种获取像素颜色的方法。根据示例代码,您需要在NSReadPixel工作之前在正确的位置使用透明的图形上下文。