2012-04-09 71 views
0

有什麼辦法讓用戶從屏幕上選擇顏色?就像GIMP或gcolor2中的一樣,您可以點擊屏幕上的任何位置,它會告訴您鼠標下的顏色。Qt顏色選擇對話框,如gcolor2

PS:QColorDialog沒有「撿」功能

回答

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

+0

請問你能更具體嗎?我只是不知道如何檢索顏色。 – daisy 2012-04-09 10:03:03

+0

答案已更新。 – Masci 2012-04-09 21:16:04