0

ユーザーが画面から色を選択できるようにする方法はありますか? GIMP や gcolor2 のように、画面上の任意の場所をクリックすると、マウスの下の色が表示されます。

PS: QColorDialog には「選択」機能がありません

4

1 に答える 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 に答える