栅格数组需要的数据少于BMP文件Array提供的数据

Data required for the raster array is less than the data provided by BMP file Array

我这样声明我的缓冲图像:

BufferedImage buff = new BufferedImage(width, height,
                    BufferedImage.TYPE_INT_RGB);

int pixel[] = ((DataBufferInt) buff.getRaster().getDataBuffer())
                    .getData();
            System.out.println(pixel.length);

它给我 pixel[]

所需的光栅数据

我有来自随机访问文件的图像像素数据。但是这个高宽需要的图片数据比文件给的要大

考虑为BMP图片....请处理BMP图片需要的padding....

使用此代码....

        int padding = 0;
        int extra = 0;
        extra = (width * 3) % 4;
        if (extra != 0)
            padding = (4 - extra);

现在在填充像素数组时跳过这样的填充字节...

random-access-file-object-name.skipBytes(padding);