2013-04-17 564 views
0

我在C++中有一個圖像,我想要點擊一個像素(相對於圖像的親屬)的座標(與我的圖片可用並打開點擊它)。我不知道如何定義信號和插槽。謝謝。C++如何從圖像中獲取像素座標?

+0

既然你提到的信號和插槽我猜你是使用QT,所以我添加了QT標籤。 –

+0

是的,我忘了它。謝謝。 – user2269556

回答

1
eventFilter(QObject *obj, QEvent *event){ 
//blabla 
if (event->type() == QEvent::MouseButtonPress) { 
QMouseEvent* MouseEvGrip = (QMouseEvent*)event; 
Point2f clickePixel((float)MouseEvGrip->x(), (float)MouseEvGrip->y()); 
//blabla 
} 
} 
+0

你可能也想檢查發送的''obj''。另見示例http://doc.qt.digia.com/4.6/qobject.html#eventFilter,以及如何將'eventFilter'嵌入到您的應用程序中。 – Peopleware

+0

您還應該接受該事件,以防止其他小部件嘗試使用按鈕按下。 – Keith

1

有一些活動針對您的情況提供。請閱讀this post瞭解更多說明。

我假設您使用的是控件來顯示從QWidget派生的圖像,例如, QImageQWidget - 派生類可以處理鼠標事件,如點擊併發送QMouseEvent。這包含相對於接收事件的小部件的xy -coordinates 通過調用QImage::pixel(x, y)(返回QRgb)來使用它們讀取像素值。

相關問題