当我向QGraphicsView添加小图像时,有没有办法获取图像像素的坐标?我在我的自定义类QGraphicsView中使用了rubberband,但我只能获得QGraphicsView坐标。
答案 0 :(得分:2)
我猜你想从给定位置获取像素。假设给定位置来自鼠标位置。
说,一个继承自QGraphicsView的类:
MyView::MyView( QWidget *parent=0 ) : QGraphicsView(parent)
{
setScene( new QGraphicsScene( this ) );
this->scene()->addPixmap(QPixmap::fromImage(this->image)); // this->image is a QImage
}
然后,实现鼠标事件
void MyView::mouseMoveEvent( QMouseEvent* event )
{
QPointF pos = mapToScene( event->pos() );
QRgb rgb = this->image.pixel( ( int )pos.x(), ( int )pos.y() );
}