список (байтов) в Picturebox - PullRequest
0 голосов
/ 19 мая 2010

У меня есть файл JPEG, который хранится в виде списка (из байтов) В настоящее время у меня есть код, который я могу использовать для загрузки и сохранения файла JPEG в виде двоичного файла (.jpeg) или CSV-байтов (asadsda.csv).

Я хотел бы иметь возможность взять список (из байтов) и преобразовать его непосредственно в Picturebox, не сохраняя его на диск, а затем загрузить его в Picturebox.

Если вам любопытно, причина, по которой я получаю файл изображения в виде списка байтов, заключается в том, что он передается по последовательному протоколу через промышленный байтово-ориентированный протокол в виде просто байтов.

Я использую VB.net, но пример C # тоже подойдет.

Ответы [ 3 ]

4 голосов
/ 19 мая 2010

Вы можете сделать это:

   var ms = new MemoryStream(byteList.ToArray());
   pictureBox.Image = Image.FromStream(ms);
2 голосов
/ 19 мая 2010

Класс Image имеет метод FromStream , и вы можете создать MemoryStream из байтового массива . Итак:

MemoryStream ms = new MemoryStream(byteList.ToArray());
Image image = Image.FromStream(ms);
1 голос
/ 19 мая 2010

Что вам нужно сделать, это взять байты и прочитать их в поток. Затем вы можете использовать поток для загрузки изображения в виде рамки.

using( MemoryStream ms = new MemoryStream( byteList.ToArray() ) )
{
   this.pictureBox1.Image = Image.FromStream( ms );
}
...