加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#中基于位的BinaryWriter

发布时间:2020-12-15 18:25:16 所属栏目:百科 来源:网络整理
导读:我正在研究基于位的B / W / Greyscale预编译字体格式,并且在阅读或编写格式时遇到了问题,(我无法确定问题的位置.(我确实有基于B / W位的版本工作,但是别名字体看起来不太好,正如您可以想象的那样,特别是在使用320×200像素屏幕时))但是决定只使用BinaryWrite
我正在研究基于位的B / W / Greyscale预编译字体格式,并且在阅读或编写格式时遇到了问题,(我无法确定问题的位置.(我确实有基于B / W位的版本工作,但是别名字体看起来不太好,正如您可以想象的那样,特别是在使用320×200像素屏幕时))但是决定只使用BinaryWriter比写入更容易当我拉动图像数据时,一个bool [].

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

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

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

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

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

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读