这篇内容参考了
http://blog.sina.com.cn/s/blog_4ed027020100c7at.html
这里的东西,写得非常清楚,很直接。
在我的程序中,生成了迷宫后要显示出来,可以用GUI可以用文本打出来,但都不够直接,因此保存成图片是最直接的方法了。
BMP图片格式简单,用C写最容易生成BMP图像,不需要压缩什么的。
下面就是代码了:
一个数据结构和两个函数
struct color
{
unsigned char b,g,r;
};
void setBmpHead()
{
unsigned int size = (width*6)*(height*6)*3+54;
unsigned short int head[]=
{
0x4D42,size%0x10000,size/0x10000,0,0,0x36,0,0x28,
0,(width*6)%0x10000,(width*6)/0x10000,(height*6)%0x10000,(height*6)/0x10000,0x10,0x18,0,
0,0,0,0,0,0,0,0,0,0,0
};
fwrite(head,1,sizeof(head),bmpFile);
return;
}
void writeBmpData( int a)
{
struct color bmpColor;
if ( a > 0 )
{
bmpColor.r = 0;
bmpColor.g = 0;
bmpColor.b = 0;
}
else
{
bmpColor.r = 255;
bmpColor.g = 255;
bmpColor.b = 255;
}
fwrite( &bmpColor,1, sizeof(struct color), bmpFile);
}
第一个函数用于设置BMP文件头,由于迷宫每个格子占6px因此要*6 设置颜色就是一个简单的数据结构,由于迷宫只需要黑白,因此第二个函数只需要设置黑白色就可以了,然后直接写入。
就是这么简单
2253

被折叠的 条评论
为什么被折叠?



