Board logo

标题: [求助]ZIP FILING SYSTEM(急..急...急) [打印本页]

作者: yll_97    时间: 2006-8-8 14:07     标题: [求助]ZIP FILING SYSTEM(急..急...急)

知道有没有哪位仁兄有做过从只读文件系统中读取BMP图象信息,我已经创建了非压缩的BMP文件-picturea,但是在读取BMP文件参数的时候出现了错误,原程序如下,请大侠们指教...


#include <stdio.h>
#include <stddef.h>
#include <system.h>
#include <stdlib.h>
#include "altera_avalon_lg_lcd_controller_regs.h"


/*===============bmp文件读写操作================*/


typedef struct 
  {  int bfType;
     long bfSize;
     int bfReserved1;
     int bfReserved2;
     long bfOffBits;
  } BITMAPFILEHEADER;


typedef struct
  {  long biSize;
     long biWidth;
     long biHighth;
     int biPlanes;
     int biBitCount;
     long biCompress;
     long biSizeImage;
     long biXPelsPerMeter;
     long biYPelsPerMeter;
     long biClrUsed;
     long biClrImportant;
  } BITMAPINFOHEADER;


 void main()
{
  FILE* fp =  NULL;
   /*short* frameBuffer1;*/
 /* short* frameBuffer2;*/
 /* frameBuffer1 = &SDRAM_BASE ;*/
 /* frameBuffer2 = & (SDRAM_BASE + 0XFF0000);*/
  BITMAPFILEHEADER FileHeader;
  /*
   * Open and print contents of ZipFS file 1.
   */
  printf("Reading file 'picturea.bmp' from ZipFS...");
  printf("sizeof(BITMAPFILEHEADER)=%d\n",sizeof(BITMAPFILEHEADER));
  
  fp  = fopen ("/mnt/rozipfs/picturea.bmp", "rb");
  if (fp == NULL)
  {
    printf ("Cannot open file.\n");
    exit (1);
  }
      
    fread(&FileHeader,1,sizeof(BITMAPFILEHEADER),fp);


      printf("FileHeader.bfType=%X\n",FileHeader.bfType);
      printf("FileHeader.bfSize=%ld\n",FileHeader.bfSize);
      printf("FileHeader.bfReserved1=%d\n",FileHeader.bfReserved1);
      printf("FileHeader.bfReserved2=%d\n",FileHeader.bfReserved2);
      printf("FileHeader.bfOffBits=%ld\n",FileHeader.bfOffBits);
  
  fclose(fp);
  }


以下是调试结果:


Reading file 'picturea.bmp' from ZipFS...
sizeof(BITMAPFILEHEADER)=20
FileHeader.bfType=84364D42
FileHeader.bfSize=3
FileHeader.bfReserved1=3538944
FileHeader.bfReserved2=2621440
FileHeader.bfOffBits=20971520


很明显FileHeader.bfType=84364D42是错的,因为我读取的是BMP图象格式,返回值应该是4D42才是,下面的几组数据也错了,我不知道为什么,请高手们指教......


作者: vincent    时间: 2006-8-14 15:58

不太懂 ,帮你顶一下!!!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0