0
這似乎微不足道,但找不到解決方案。我需要讀取QGraphicsScene中某個x,y點的顏色。 類似於graphScen->colorAt(x,y);
如何獲取QGraphicsScene上XY點的顏色?
這似乎微不足道,但找不到解決方案。我需要讀取QGraphicsScene中某個x,y點的顏色。 類似於graphScen->colorAt(x,y);
如何獲取QGraphicsScene上XY點的顏色?
QGraphivsScene不具備關於點上顏色的知識,並且它不是非常簡單(您在場景和項目上都有轉換)。你可以做的是訪問渲染場景的像素圖並訪問那裏的像素信息。
QPixmap paintDevice(sceneBoundingRect());
QPainter painter(&paintDevice);
graphScen->render(painter);
// Now you have the pixmap, get the pixel information.
QImage pixels = paintDevice.toImage();
QRgb colorAt = pixels.pixel(x,y);
完成。
查看http://stackoverflow.com/questions/3602152/how-to-draw-a-qpoint-on-a-qgraphicsview-scene – user1929959 2013-02-24 10:59:59
QGraphicsScene在繪製QGraphicsView之前無法回答該問題。場景使用浮動座標管理未上漆的項目。實際的繪畫需要由繪圖設備完成,即QGraphicsView。只有然後調用QGraphicsItem :: paint才能進行實際繪畫。 – 2013-02-25 07:10:13