我声明了我的缓冲图像:
BufferedImage buff = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
int pixel[] = ((DataBufferInt) buff.getRaster().getDataBuffer())
.getData();
System.out.println(pixel.length);
它为pixel[]
我有来自随机访问文件的图像像素数据。但是这个高度和宽度所需的图像数据大于文件给出的图像数据。
答案 0 :(得分:2)
考虑到它是BMP图像....请处理BMP图像所需的填充....
使用此代码......
int padding = 0;
int extra = 0;
extra = (width * 3) % 4;
if (extra != 0)
padding = (4 - extra);
现在在填充像素阵列时跳过这样的填充字节...
random-access-file-object-name.skipBytes(padding);