Преобразование файла в массив бит для построения изображения - C#
Формулировка задачи:
Добрый день. Только начинаю изучать C# и текущая задача поставила меня в ступор. Имеется файл, который хранит в себе набор значений. Количество бит одного значения: 10 бит.
Насколько я понимаю каждые 10 бит файла хранят число от 0 до 1024. Каждое число нужно преобразовать в пиксель с разными оттенками (например 1024 - самый яркий цвет пикселя, 0 - самый бледный ) и собрать из них изображение по N пикселей в ряд.
Как проще всего это сделать? Я придумал только переводить файл в массив байт, затем массив байт в массив бит и затем складывать из каждых 10 бит десятеричное число.
Преобразовал файл в массив байт таким образом:
Как теперь преобразовать массив байт в массив бит? Как-то так?
open_file.ShowDialog();
Byte[] b = System.IO.File.ReadAllBytes(open_file.FileName);BitArray bits = new BitArray(b);
Решение задачи: «Преобразование файла в массив бит для построения изображения»
textual
Листинг программы
List<int> pixelArray = new List<int>();
Byte[] buffer = System.IO.File.ReadAllBytes(@"C:\Users\Cherry\Desktop\Новая папка\DataExCH.000");
BitArray bits = new BitArray(buffer);
for (int i = 0; i < bits.Length; i += 10)
{
String s = "";
for (int k = i; k < i + 10; k++)
s += Convert.ToByte(bits[k]);
pixelArray.Add(Convert.ToInt16(s, 2));
}