【发布时间】:2016-05-18 19:25:27
【问题描述】:
当我点击我的窗口时,我会从另一个函数中获得正确的 x y 值。使用这些值,我不想在当前活动的窗口而不是整个屏幕上获得 RGB 颜色值。现在我认为它正在阅读整个屏幕。如何编辑此代码以使其正常工作? (窗口本身是一个使用 FLTK 库的 Fl_Double_Window)。
int getRGB(int x, int y)
{
XColor c;
Display *d = XOpenDisplay((char *) NULL);
XImage *image;
image = XGetImage(d, RootWindow (d, DefaultScreen(d)), x, y, 1, 1, AllPlanes, XYPixmap);
c.pixel = XGetPixel (image, x, y);
XFree (image);
XQueryColor (d, DefaultColormap(d, DefaultScreen (d)), &c);
cout << c.red/256 << " " << c.green/256 << " " << c.blue/256 << "\n" ;
}
【问题讨论】: