Qt颜色选择对话框,如gcolor2

时间:2012-04-09 04:36:54

标签: qt colors

有没有办法让用户从屏幕上挑选颜色?就像GIMP或gcolor2中的那个一样,你点击屏幕上的任何地方,它会告诉你鼠标下的颜色。

P.S:QColorDialog没有“选择”功能

1 个答案:

答案 0 :(得分: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)); 

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