我正在读取一个图像字节数组,现在图像是 16 位(r:5,g:6,b:5),我想将它读取到 BufferedImage。
我试过类似的东西:
int[] nBits = {5, 6, 5};
int[] bOffs = {0, 0, 0};
ColorModel colorModel = new ComponentColorModel(
cs, nBits, false, false,
Transparency.OPAQUE,
DataBuffer.TYPE_BYTE);
WritableRaster raster = Raster.createInterleavedRaster(
new DataBufferByte(screenBuffer,screenBuffer.length),
foundWidth, foundHight,
foundWidth * 2, 2,bOffs, null);
BufferedImage imgReconstructed = new BufferedImage(
colorModel,raster,false,null);
我的问题是 bandOffsets,我应该如何将它设置为 16 位图像。这是正确的方法吗?谢了,兄弟们