加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

超简单的生成BMP格式文件的程序(纯C语言)

(2009-02-22 15:36:37)
标签:

it

编程

c

算法

分类: C++

其实最主要的只是里面的SaveBmp函数而已。head是BMP文件的文件头,包含了关于文件格式的一切信息;data是位图每一点的R、G、B颜色值组成的字节数组。至于head里面的内容是具体什么意思,你可以完全不管,只要你知道怎么用SaveBmp这个函数就行了。

#include <stdio.h>

struct color{

    unsigned char b,g,r;

};

void SaveBmp(char* filename,int height,int width,unsigned char *data){

    unsigned int size = width*height*3+54;

    unsigned short head[]={

        0x4D42,size%0x10000,size/0x10000,0,0,0x36,0,0x28,

        0,width%0x10000,width/0x10000,height%0x10000,height/0x10000,0x10,0x18,0,

        0,0,0,0,0,0,0,0,0,0,0

    };

    FILE* fp=fopen(filename,"wb");

    if(!fp)return;

    fwrite(head,1,sizeof(head),fp);

    fwrite(data,1,size,fp);

    fclose(fp);

}

void main(){

    color buffer[256][512];

    for (int i=0;i<256;i++)

        for (int j=0;j<512;j++)

            buffer[i][j].b=buffer[i][j].g=0,buffer[i][j].r=i;

    SaveBmp("0.bmp",256,512,(unsigned char*)buffer);

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有