设为首页 加入收藏

TOP

C中如何显示*.bmp文件
2014-11-23 20:14:57 】 浏览:2150
Tags:如何 显示 .bmp 文件

  1. *.bmp文件结构


  *.bmp文件和大多数图形文件一样,分为文件描述区(头文件信息)和图象存储区(象素数据)两部分。而头文件信息中又包含了信息区和调色板区两部分,信息区又可以细分为文件信息区和图象信息区两部分。


  这里以256色320*200的bmp图象为例。头文件描述区的偏移长度是1078个字节,也就是说图象存储区是从文件偏移1078后开始读取的。在头文件描述区中头信息区的偏移长度是54个字节,也就是说调色板数据区是从54-1078之间的1024字节。在头信息区中文件信息区占14个字节而图象信息区占40字节。


  (1) 文件信息区


  typedef struct BMP_file


  {


  unsigned int bfType; //文件类型


  unsigned long bfSize; //bmp文件长度


  unsigned int Reserved1;


  unsigned int Reserved2;


  unsigned long bfOffset; //文件描述区长度,16色为118,256色为1078


  }bitmapfile;


  现在算一下,有3个int,2个long,正好3*2+2*4=14字节


  (2) 图象信息区


  type struct BMP_info


  {


  unsigned long biSize;


  unsigned long biWidth;


  unsigned long biHeight;


  unsigned int biPlanes;


  unsigned int biBitCount;


  unsigned long biCompression;


  unsigned long biSizeImage;


  unsigned long biXplosPerMeter;


  unsigned long biYplosPerMeter;


  unsigned long biClrUsed;


  unsigned long biClrImportant;


  }bitmapinfo;


  现在算一下,2个int,9个long,正好是2+2*9*4=40字节。


  (3)调色板区


  typedef struct RGB_BMP_typ


  {


  unsigned char blue;


  unsigned char green;


  unsigned char red;


  unsigned char reserved;


  }RGB_BMP,*RGB_BMP_ptr;


  说明:三原色+灰度,共4*256=1024字节。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇AddRef和Release的使用技巧 下一篇用extern声明外部变量

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目