C#中基于位的BinaryWriter

我正在研究基于位的B / W / Greyscale预编译字体格式,并且在阅读或编写格式时遇到了问题,(我无法确定问题的位置.(我确实有基于B / W位的版本工作,但是别名字体看起来不太好,正如您可以想象的那样,特别是在使用320×200像素屏幕时))但是决定只使用BinaryWriter比写入更容易当我拉动图像数据时,一个bool [].

文件中像素的基本格式如下所示:

1 – 白色像素(最短,因为这将是大多数像素)

00 – 黑色像素(无理由为纯黑色像素写入10位,其中有合理的数量)

01 – 灰度像素,后跟1个字节,描述像素的阴影

现在,编写所需信息的一切都很好,花花公子,因为这是全部字节,但认的.Net 4.0 BinaryWriter将布尔值写为完整字节,并且可以想象,这会否定基于位的使用格式.所以我想知道,有没有BinaryWriter,(和BinaryReader)实现那里的基于位的

编辑:
我最终创造了自己的. (请参阅代码的答案.)

解决方法

我不相信框架中有任何东西,不,不.基本上你需要编写一个类来包装BinaryWriter(或只是一个流)和“到目前为止写的字节”和写入的位数.当位数达到8时,将字节写入基础流并清除.

编辑:OP发布了上述建议below的可行和可行的实现.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...