2008/08/26

BMP图像的分析与显示

这是我这学期软件课程设计的报告、源代码和最终程序

其实……很眼子的一个软设额 只要把一个文件夹下所有格式的BMP图片显示出来就可以了

我知道很简单 可以前半个学期还是一窍不通 纠结的一塌糊涂

我们又是本系第一届开这个课的 前辈们都没有资料可以参考

期中考试后交第一份中期报告 什么都不知道 胡乱拼凑了一份

期末考试钱交第二份中期报告的时候就已经做完了

主要代码是三天写完的 昼夜不分

我发现写程序确实满有意思的 我比较适合学CS

这个小东西不能跟计院的哥哥姐姐们比

完全没研究算法 只求把效果实现 而且只做了基础部分 选做部分没动……

C果然是很低级的语言 简单的读图程序都要我一个比特一个比特地计算内存

写完了还是很有成就的 毕竟是自己努力的结果 好过其他人的简单copy

最后发挥自己做图的优势 把界面优化了一下 把我比较得意的几个图丢了上去

90分

在一大片七八十分的状况下很对的起人啦!

就在几个月前还在为此一筹莫展

其实 世上果真是无难事的

课程要求

本次所选定的课程设计的题目是利用C 语言实现BMP 图象的分析和显示。程序的基本要求如下:

1. 必须在程序中使用到指针,原则上不使用大数组;

2. 必须使用到结构体;

3. 程序具有较强的可读性,关键代码必须有注释。

4. 注意代码风格

本课程设计的主要内容:

基础部分:

完成BMP 格式图像的显示,要求在提供的画布上循环的显示某一文件夹下面所有的BMP 文件。

选做部分:

  • BMP 图像显示特技实现;
  • GIF,JPG 图形格式分析以及图像显示;
  • 结合操作系统来设计GUI(Graphical User Interface);
  • 鼓励自己的创意,可以与本题目无关,和老师协商。

基本思路

  • 文件头和信息头的读取
  • 位图数据的读取
  • 32位图像的显示
  • 图像的垂直翻转
  • 24位位图数据转换成32位
  • 16位位图数据转换成32位
  • 8位位图数据转换成32位
  • 4位位图数据转换成32位
  • 当位图数据每行字节数不是4的整数倍时补位对齐问题
  • 调色板的读取
  • 16位Bitfields文件的解压(555和565模式)
  • RLE8压缩文件的解压
  • RLE4压缩文件的解压

以下是最终作业

File iconBMP课程设计.rar

包括VC的project,源代码,演示程序,实例图片和三篇实验报告

所有代码均有注释说明

放在这里造福后人

解压后不管有没有装VC,运行\vcProj\vcProj.exe程序就可以看到演示效果了……

很简陋……不过毕竟是本人第一次做project……自豪一下

3 条评论:

匿名 说...

Thanks for your share~~

识慌者 说...

如果你有空闲,希望你能帮帮忙。我下载不了你的附件。并且目前感觉十分没有目的,不知道该如何下手来编写这个程序。如果这个程序你还保留着,希望你能发到我的邮箱里(gxw987@qq.com)。我将感激不尽。

匿名 说...

非常感谢你的无私精神,我代表我们全电子系感谢你!