【正文】
eturn1;}for(i=0;i 256;i++){pal[i].rgbBlue=i;pal[i].rgbGreen=i;pal[i].rgbRed=i;pal[i].rgbReserved=0;}return 0;}int ReadPixelData(BYTE*imgData){BYTE*data;FILE*dataFile;DWORD dwLineBytes;dwLineBytes=GetLineBytes(,);data=(BYTE*)malloc(dwLineBytes**sizeof(BYTE));dataFile=fopen(,rb);fseek(dataFile,SEEK_SET);if(fread(data,dwLineBytes**sizeof(BYTE),1,dataFile)!=1){printf(Can not read the pixel data.\n);free(data);fclose(dataFile);return1;}memcpy(imgData,data,dwLineBytes**sizeof(BYTE));free(data);fclose(dataFile);return 0;}LONG GetLineBytes(int imgWidth,int bitCount){return(imgWidth*bitCount+31)/32*4;}int SaveAsImage(char*filepath){FILE*dataFile;RGBQUAD pal[256];int i;DWORD dwLineBytes;dwLineBytes=GetLineBytes(,);dataFile=fopen(filepath,wb);if(!dataFile){printf(Error:Can not open the file:%s\n,filepath);return1;}for(i=0;i 256;i++){pal[i].rgbReserved=0;pal[i].rgbBlue=i;pal[i].rgbGreen=i;pal[i].rgbRed=i;}if(fwrite(amp。bmihbiYPelsPerMeter,sizeof(LONG),1,dataFile)!=1){printf(Can not read biYPelsPerMeter in the info header.\n);fclose(dataFile);return1;}if(fread(amp。bmihbiSizeImage,sizeof(DWORD),1,dataFile)!=1){printf(Can not read biSizeImage in the info header.\n);fclose(dataFile);return1;}if(fread(amp。bmihbiBitCount,sizeof(WORD),1,dataFile)!=1){printf(Can not read biBitCount in the info header.\n);fclose(dataFile);return1;}if(fread(amp。bmihbiHeight,sizeof(LONG),1,dataFile)!=1){printf(Can not read biHeight in the info header.\n);fclose(dataFile);return1;}if(fread(amp。bmihbiSize,sizeof(DWORD),1,dataFile)!=1){printf(Can not read biSize in the info header.\n);fclose(dataFile);return1;}if(fread(amp。bmfhbfReserved2,si