Я работаю над форматом предварительно скомпилированного шрифта B / W / Greyscale, и у меня возникли проблемы с чтением или записью формат, (я не смог определить, в чем проблема. (У меня работает битовая версия ч / б, но шрифт с псевдонимом выглядит не слишком хорошо, как вы можете себе представить, особенно при работе с экраном 320x200 пикселей)), но решил, что просто использовать BinaryWriter будет намного проще, чем писать в bool [], когда я извлекал данные изображения.
Основной формат пикселя в файле выглядит следующим образом:
1 - Белый пиксель (самый короткий, так как это будет большая часть пикселей)
00 - Черный пиксель (нет причин записывать 10 бит для чисто черного пикселя, которых существует разумное количество)
01 - Пиксель в оттенках серого и далее wed на 1 байт, описывающий оттенок пикселя
Теперь все в порядке с записью необходимой информации, поскольку это все полные байты, но по умолчанию .Net 4.0 BinaryWriter записывает логическое значение как полный байт, а как вы можете себе представить, что это отрицает использование битового формата. Поэтому мне было интересно, существует ли реализация BinaryWriter (и BinaryReader), основанная на битах
Edit: В итоге я создал свой собственный. (См. Ответ для кода.)