Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1071317
  • 博文数量: 403
  • 博客积分: 10272
  • 博客等级: 上将
  • 技术积分: 4407
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:22
文章分类

全部博文(403)

文章存档

2012年(403)

分类: 嵌入式

2012-04-02 22:01:44

 前面介绍了Windows Phone 解析图片尺寸之gif,之前也介绍了jpg和png图片的相关解析。Windows Phone系统支持的图片格式是jpg和png,所以bmp图片的现实同gif图片显示的处理方式类似,同样需要采用第三方类库ImageTools,其中ImageTools的获取在gif图片解析中已经介绍,下面代码给出创建一个显示bmp图片的控件。

View Code

  典型的位图文件格式通常包含下面几个数据块:
  位图头:保存位图文件的总体信息。
  位图信息:保存位图图像的详细信息。
  调色板:保存所用颜色的定义。
  位图数据:保存一个又一个像素的实际图像。

  通过解析位图头我们可以判断图片是否为bmp格式,而我们所需要的图片尺寸信息存储在位图信息数据块里。所以我们需要详细了解位图头和位图信息两个数据块的存储结构。
  位图头,这部分是识别信息,典型的应用程序会首先普通读取这部分数据以确保的确是位图文件并且没有损坏。
    字节 #0-1 保存位图文件的标识符,这两个字节的典型数据是BM
    字节 #2-5 使用一个dword保存位图文件大小。
    字节 #6-9 是保留部分,留做以后的扩展使用,对实际的解码格式没有影响。
    字节 #10-13 保存位图数据位置的地址偏移,也就是起始地址。

  位图信息,这部分告诉应用程序图像的详细信息,在屏幕上显示图像将会使用这些信息,它从文件的第15个字节开始。
    字节 #14-17 定义以下用来描述影像的区块(BitmapInfoHeader)的大小。它的值是:40 - Windows 3.2、95、NT、12 - OS/2 1.x、240 - OS/2 2.x
    字节 #18-21 保存位图宽度(以像素个数表示)。
    字节 #22-25 保存位图高度(以像素个数表示)。
    …………
  以上关于bmp文件结构的内容参考维基百科。
  通过上面对BMP图片格式的了解,可以用下面的代码来解析bmp图片的尺寸大小。

View Code
阅读(1072) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~