前言
最近有个大胆的想法,就是用C语言将bmp图转变为字符画,大概的原理就是将每个像素点转变为灰度不同的字符,然后我便开始了研究
原理
BMP图又称为Bitmap位图,是Windows系统的一种图像文件格式,其中的数据根据官方文档可以分为四部分:
名称 | 大小(Byte) |
---|---|
bmp file header | 14 |
bitmap information | 40 |
color palette | 根据实际决定 |
bitmap data | 根据实际决定 |
结构
从网上搜寻到的图片可知
bmp file header的详细内容为
名称 | 大小(Byte) | 作用 |
---|---|---|
bfType | 2 | BM代表Windows |
bfSize | 4 | 该位图的大小 |
bfReserved1 | 2 | 保留 |
bfReserved2 | 2 | 保留 |
bfOffBits | 4 | 从头到图像的偏移量 |
而bmp information的部分有用内容为
名称 | 大小(Byte) | 作用 |
---|---|---|
biSize | 4 | BM代表Windows |
biWidth | 4 | 该位图的宽度(像素) |
biHeight | 4 |