通過調用getRGB(int x, int y)
與BufferedImage
對象,可以獲得單個負數。Java - 紅色,綠色,藍色可獲得RED
如何將三個不同的值(紅色,綠色和藍色)轉換爲此單個負數?
通過調用getRGB(int x, int y)
與BufferedImage
對象,可以獲得單個負數。Java - 紅色,綠色,藍色可獲得RED
如何將三個不同的值(紅色,綠色和藍色)轉換爲此單個負數?
BufferedImage的最終委託給java.awt.image.ColorModel
它使用下面的代碼:
public int getRGB(Object inData) {
return (getAlpha(inData) << 24)
| (getRed(inData) << 16)
| (getGreen(inData) << 8)
| (getBlue(inData) << 0);
}
修改此以滿足您的需求,是一個平凡的工作。
BTW。每個BufferedImage都包含一個包含所有像素的數組。如果BufferedImage是TYPE_INT_RGB類型,則該數組將是一個int數組。所以如果你想做很多像素操作,你可以通過直接寫入數組來加速程序。你可以使用int [] pixels =((DataBufferInt)image.getRaster()。getDataBuffer())。getData() – SpiderPig