读取24位BMP图像并生成JPG缩略图(一)(3) (int)bi[4]&0xff; System.out.println("宽:"+nwidth); int nheight=(((int)bi[11]&0xff)<<24) //源图高度 (((int)bi[10]&0xff)<<16) (((int)bi[9]&0xff)<<8) (int)bi[8]&0xff; System.out.println("高:"+nheight); //位数 int nbitcount=(((int)bi[15]&0xff)<<8) (int)bi[14]&0xff; System.out.println("位数:"+nbitcount); //源图大小 int nsizeimage=(((int)bi[23]&0xff)<<24) (((int)bi[22]&0xff)<<16) (((int)bi[21]&0xff)<<8) (int)bi[20]&0xff; System.out.println("源图大小:"+nsizeimage);
//对24位BMP进行解析 if(nbitcount==24){ int npad=(nsizeimage/nheight)-nwidth*3; int ndata[]=new int[nheight*nwidth]; byte brgb[]=new byte[(nwidth+npad)*3*nheight]; fs.read (brgb,0,(nwidth+npad)*3*nheight); int nindex=0; for(int j=0;j<nheight;j++){ for(int i=0;i<nwidth;i++){ ndata [nwidth*(nheight-j-1)+i]=