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的可行和可行的实现.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...