2012-05-07 120 views
-3

我需要寫一個std::vector<double>值到qGraphicsScene。 (值在0-1之間,每個元素表示一個像素 - 灰度) 後來我想訪問圖像的像素以替換顏色(我沒有時間替換整個圖像) thx。爲了答案!QT繪製像素到圖形場景

+1

這是什麼問題? – Anthony

回答

2

如果你想要做這樣的低級修改,我建議看看QImage類。諸如QImage :: setPixel之類的成員將允許您訪問單個像素進行修改。

如果您需要這種功能上QGraphicsScene,那麼你可以畫到QImage的,然後將其轉換成一個的QPixmap(帶的QPixmap :: convertFromImage),用於與QGraphicsPixmapItem,然後放置QGraphicsPixmapItem冒頭。

你可能想看看通用的Qt容器,比如QVector。

+0

這個效果很好,如果我加載整個圖像,但有沒有任何解決方案後,我已經加載場景訪問像素? – Denes

+0

一種快速而骯髒的方法會將QImages存儲在某些數據結構中('QHash '?我不確定您的需求是什麼)。當你需要編輯時,編輯'QImage',然後在適當的項目上將'QPixmap'設置爲編輯的'QImage'。雖然這種方法可能存在效率缺陷,取決於實施。您可能會從閱讀[Qt的隱式共享](http://doc.qt.nokia.com/4.7-snapshot/implicit-sharing.html)機制中受益。 –

+0

Denes,這是否幫助你,是一個合適的答案?如果是這樣,請將您的問題標記爲已回答。 –