用二进制画一条黑线,bmp文件的存储原理
1.了解bmp文件的存储原理
bmp详解
1.1 要先了解bmp文件中二进制的数据代表的什么内容,具体看超链接
1.2 注意
最重要的就是要明白
1C-1D:0008h = 8, 表示每个像素占8个比特,即该图像共有256种颜色。
注意文件中看的时候要从高位到低位连起来看
文件中两个字节 01 00 就是代表 0001h
当为0001h,每个像素占1个比特时,调色板合法索引值只有0和1。因此调色板中只有2个色彩值,分别表示索引值为0和1时的色彩信息。
当为0004h,每个像素占4个比特时,调色板合法索引值[0,15]。因此调色板中只有16个色彩值。
当为0008h,每个像素占8个比特时,调色板合法索引值[0,255]。因此调色板中只有256个色彩值。
但图像中不一定使用到了全部颜色。第47-50字节存储的uint型数据指出图像中实际应用的色彩数,也即调色板中的色彩值数目。当然,它不应超出调色板的合法索引值的范围。
当每个像素为1个bit时,一个字节八bit,要看具体的像素大小,来看如何表示像素的大小,最低为四字节,而且必须为4的倍数
画图时最好使用单色,就是一个像素一bit,在调整合适的大小来看二进制数据,不然二进制数据会很多,不方便实验。
2.看过之后,要结合具体实例来动手
2.1 第一步 弄清楚单色的bmp文件,如何用二进制画一条黑线
不难,说白了,你要看过上面链接,不可能不会画出一条黑线前五十四字节的数据讲的明明白白 不明白 你就是看的少,没动脑子,光动眼睛了八字节的调色板 00 00 00 00 ff ff ff 00 黑白 rgb透明度宽度15*高度5 七十五 一共七十五像素 一像素 一bit位,一字节八bit八像素,最低四字节 32像素宽度时十五像素 绰绰有余 乘以高度五 一共二十字节 不放图了 ,不会的多动手,谁都可以
2.2 第二部 把单色的文件转换成16色的文件
能把单色的文件转换成十六色的文件,我觉得这个bmp你就明白了1.每个像素1bit 调整成4bit 代表了十六色2.十六色的调色板 4*16=64字节 一行16字节 四行3.调整具体的像素 还是宽度15*高度5 75像素 一像素4bit位 一字节2像素 四字节 8像素 八字节 16像素 16*5 80字节4.还需要修改文件的大小,和使用的颜色数最后,数据调整好的,检验标准,是文件能否正常的打开
3.最后,都太简单了
没有什么会难住我们的,一切困难都只是暂时的,我希望大家不要被现在面临的一点问题所影响。一个喜爱艺术的人,比如油画,可惜不会平生无憾事,唯一爱女人。 虽有遗憾,但无后悔。昨天吃饭,跟一个代课的女性说起什么什么信仰。她说信仰就是懦弱,就是当个老好人。她说信仰钱,真的是,哎。让我想起路飞,海贼王的一句话,没有什么对与错,我们只是立场不同。从没有的东西/从没有经历的东西,为什么要去贬低呢。做个有信仰的人,哪管信什么,只要是正向的。让我想起我曾经对自己说的话,梦想/快乐就是去成就他人。