Преобразование файла в массив бит для построения изображения - 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));                
                   
                }

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


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

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

10   голосов , оценка 3.5 из 5
Похожие ответы