gned char ch; int i,j,n; FILE *fp; fp=fopen(fname,rb+); if (fp==NULL) return NULL; fseek(fp,18L,SEEK-SET); fread(&width,2,1,fp);fseek(fp,2L,SEEK-CUR); fread(&depth,2,1,fp);fseek(fp,2L,SEEK-CUR); n=width/4; if (width%4 !=0) n++; bytes=n*4; fseek(fp,54L,SEEK-SET); fread(&palette[0][0],4,256,fp); return fp; } /*该函数实现颜色的压缩*/ void zh_fan-tu(FILE *fp,int color1,int color2) { unsigned char *p,*q,cc,ch; long len; int max-no, i,j,m,n,r0,b0,g0,r1,b1,g1; double dd,dmin; char s[4]; max-no=color2-color1+1; for (i=0;i=width) break; else { ch=(unsigned char)*q; TAB[ch]++; } } for (i=0;i=color1;i--) memcpy(&palette[0],&palette[i-color1][0],4); for (i=0;idd) {dmin=dd;m=j;} } BB[TT]=(unsigned char)m; } for (i=0;i
|