ahmed_sa Ответов: 1

Как преобразовать изображение в двоичное и получить результат в текстовом поле


Мне нужно преобразовать изображение в двоичное и получить результат в текстовом поле .

я использую следующую функцию :

Изображение найдено в пути D:/person.jpg

public static byte[] ImageToBinary(string _path)  
{  
FileStream fS = new FileStream(_path, FileMode.Open, FileAccess.Read);  
byte[] b = new byte[fS.Length];  
fS.Read(b, 0, (int)fS.Length);  
fS.Close();  
return b;  
}


Как получить значение, возвращаемое функцией ImageToBinary в textbox1 ?

Я работаю в c# windows form c#

Что я уже пробовал:

How to convert image to binary and get result in text box

Richard MacCutchan

Этот вопрос не имеет смысла. Двоичный массив-это не текст, поэтому, поместив его в текстовое поле, вы просто создадите нечитаемый мусор.

ahmed_sa

Мне нужно преобразовать изображение из байтового массива в двоичную строку 0 или 1

Ralf Meier

Вы должны это объяснить ...
Какой смысл для вас, если вы преобразуете каждый байт изображения в его двоичное значение (в виде строки), чтобы отобразить его в текстовом поле ?

ahmed_sa

да мне нужно преобразовать в двоичную строку 0 или 1 и показать ее в текстовом поле

1 Ответов

Рейтинг:
0

Ramza360

У вас есть все части, все, что вам нужно сделать, это перебрать массив байтов и преобразовать каждое число в двоичное представление.

Имейте в виду, что обычно существует максимальная длина текстового поля, которую вам, возможно, придется преодолеть вручную (сделать его многострочным / увеличить максимальную длину и т. д.

public static byte[] ImageToBinary(string _path)  
{  
    FileStream fS = new FileStream(_path, FileMode.Open, FileAccess.Read);  
    byte[] b = new byte[fS.Length];  
    fS.Read(b, 0, (int)fS.Length);  
    fS.Close();  
    return b;  
}

public static void SetText(string _path) {
    byte[] b = ImageToBinary(_path);
    
    StringBuilder binary = new StringBuilder();

    foreach (var bb in b) {
         binary.Append(Convert.ToString(bb, 2));
    }

    textBox1.Text = binary.ToString(); 

}