2013-07-11 26 views
3

我是新來的顏色的東西,渲染等,並觀看一些關於渲染等教程視頻。我的問題是,當我在一個像素上調用getRGB方法時,它返回一個負int。這個負數是什麼意思?例如,當我用r:186,g:186,b:186的顏色調用getRGB時,它返回-4539718。這個數字與它的rgb值有什麼關係?我做了一些谷歌搜索,但沒有成功。使用getRGB()時負數的含義是什麼?

回答

14

getRGB方法返回一個int,其中4個字節是按順序排列的alpha,red,green和blue組件。假設像素不透明,alpha值爲255(0xFF)。它是int中最重要的字節,並且第一位被設置爲該值。因爲在Java int中值根據Two's Complement進行了簽名,所以該值實際上是負數,因爲該第一位是開啓的。

+0

是的,這是將4字節值打包成4字節'int'和帶符號Java int值的結果。 – rgettman