Преобразование файла в массив бит для построения изображения - 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)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д