我正在從一段代碼,僅僅是訪問圖像座標意想不到的輸出,這裏有一個片段:Qt 4.7 QColor構造函數:可能的錯誤?
QImage image(imageFileNames[frameNumber]);
QRgb qrgb(image.pixel(493,114));
QColor testCol(qrgb);
使用調試,以確保我得到正確的圖像路徑我得到類似../seq/0001.png
,這是如預期。然而,testCol
具有的價值:
[argb]
alpha 65535
blue 28013
green 24415
pad 0
red 59367
取而代之的255,255,255範圍內的預期值。此外,qrb的值爲4293353325.像素座標位於圖像範圍內(720x288圖像),圖像位於.png
格式(QImage::Format_RGB32
)。
我也發現這個問題似乎是整個應用程序的全局問題,任何寫入的新代碼似乎都會繼承這種行爲。
在進一步的實驗,使用以下代碼:
QRgb qrgb(image.pixel(1,1)); //again this is in range
int blue = qBlue(qrgb);
int red = qRed(qrgb);
int green = qGreen(qrgb);
QColor testCol(red,green,blue, 255);
testColor
仍然具有錯誤的值。但是,紅色,綠色和藍色都顯示預期值。似乎這是QColor
構造函數的問題?我並不太確定究竟發生了什麼。
任何想法可能會導致此行爲?我在Ubuntu 10.10上運行Qt 4.7。
使用「代碼」按鈕來格式化代碼(縮進4個空格)。內聯代碼通過使用反引號完成:' – rubenvb 2011-06-08 13:40:31
是您的tesCol QColor :: Rgb的cspec? – 2011-06-08 17:23:37