Преобразование файла в массив бит для построения изображения - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Только начинаю изучать C# и текущая задача поставила меня в ступор. Имеется файл, который хранит в себе набор значений. Количество бит одного значения: 10 бит. Насколько я понимаю каждые 10 бит файла хранят число от 0 до 1024. Каждое число нужно преобразовать в пиксель с разными оттенками (например 1024 - самый яркий цвет пикселя, 0 - самый бледный ) и собрать из них изображение по N пикселей в ряд. Как проще всего это сделать? Я придумал только переводить файл в массив байт, затем массив байт в массив бит и затем складывать из каждых 10 бит десятеричное число. Преобразовал файл в массив байт таким образом:
Листинг программы
  1. open_file.ShowDialog();
  2. Byte[] b = System.IO.File.ReadAllBytes(open_file.FileName);
Как теперь преобразовать массив байт в массив бит? Как-то так?
Листинг программы
  1. BitArray bits = new BitArray(b);

Решение задачи: «Преобразование файла в массив бит для построения изображения»

textual
Листинг программы
  1. List<int> pixelArray = new List<int>();
  2. Byte[] buffer = System.IO.File.ReadAllBytes(@"C:\Users\Cherry\Desktop\Новая папка\DataExCH.000");
  3. BitArray bits = new BitArray(buffer);
  4. for (int i = 0; i < bits.Length; i += 10)
  5. {
  6. String s = "";
  7. for (int k = i; k < i + 10; k++)
  8. s += Convert.ToByte(bits[k]);
  9.  
  10. pixelArray.Add(Convert.ToInt16(s, 2));
  11. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы