Bit-Based BinaryWriter в C #

Я работаю над форматом предварительно скомпилированного шрифта B / W / Greyscale, и у меня возникли проблемы с чтением или записью формат, (я не смог определить, в чем проблема. (У меня работает битовая версия ч / б, но шрифт с псевдонимом выглядит не слишком хорошо, как вы можете себе представить, особенно при работе с экраном 320x200 пикселей)), но решил, что просто использовать BinaryWriter будет намного проще, чем писать в bool [], когда я извлекал данные изображения.

Основной формат пикселя в файле выглядит следующим образом:

1 - Белый пиксель (самый короткий, так как это будет большая часть пикселей)

00 - Черный пиксель (нет причин записывать 10 бит для чисто черного пикселя, которых существует разумное количество)

01 - Пиксель в оттенках серого и далее wed на 1 байт, описывающий оттенок пикселя

Теперь все в порядке с записью необходимой информации, поскольку это все полные байты, но по умолчанию .Net 4.0 BinaryWriter записывает логическое значение как полный байт, а как вы можете себе представить, что это отрицает использование битового формата. Поэтому мне было интересно, существует ли реализация BinaryWriter (и BinaryReader), основанная на битах

Edit: В итоге я создал свой собственный. (См. Ответ для кода.)

6
задан Orvid King 15 August 2011 в 16:30
поделиться