0

有没有办法让用户从屏幕上选择颜色?就像 GIMP 或 gcolor2 中的一样,您单击屏幕上的任意位置,它会告诉您鼠标下的颜色。

PS:QColorDialog 没有“pick”功能

4

1 回答 1

1

您可以抓取整个屏幕的一个像素部分并将其转换为QPixmap

// crop screen in a pixmap containing only one pixel
QPixmap pixmap = QPixmap::grabWindow(QApplication::desktop()->winId(), mouse_pos_x, mouse_pos_y, 1, 1);
// convert pixmap to QImage so we can access pixel data crossplatform
QImage img = pixmap.toImage(); 
// image has only one pixel at coords (0,0), get its color
QColor col = QColor(img.pixel(0,0)); 

然后很容易提取颜色。请参阅此处的功能文档。

于 2012-04-09T09:51:57.413 回答