看板 java 關於我們 聯絡資訊
假設以下程式 int zero = 0; /*已知為 TYPE_3BYTE_BGR */ BufferedImage pic = ImageIO.read(new File("pic.bmp")); pic.setRGB(0,0,zero); System.out.printf( "pic.getRGB(0,0)= %d" , pic.getRGB(0,0) ); 輸出結果為 pic.getRGB(0,0)= -16777216 請問得到的結果為什麼不是0呢? 把一個4byte,值為0的整數存入應該沒有超出範圍(僅管pic的類別是TYPE_3BYTE_BGR) 因為我想利用 pic.getRGB(x,y)來當判斷條件 if( pic.getRGB(x,y) = ...) 如果無法確認正確的值將會變得無法下手.. 查過API也找不到答案 所以想問看看有沒有人知道?? 感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.229.173.29
H45:-16777216 = FF000000, 他是黑色。 09/13 06:19
H45:判斷這個值:pic.getRGB(0,0) & 0xFFFFFF <- 應該會等於零 09/13 06:25
f953024:可是用WritableRaster試看看 09/13 15:32
neigence:剛看完JOKE板 忘了來到JAVA板 想說鄉民笑話CODE怎這麼多 09/14 00:41
innovation:哈哈 09/17 16:26