栅格数组需要的数据少于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);
我这样声明我的缓冲图像:
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);