Загрузка байтовых данных в графическое окно - PullRequest
1 голос
/ 29 июля 2011

Я сохранил изображение в базе данных, используя следующий код.

ofd.ShowDialog()
    vrPicHolder = IO.File.ReadAllBytes(ofd.FileName)
    Dim drPic As DataRow
    drPic = DsPic.tblPicTest.NewRow
    drPic.Item("Picture") = vrPicHolder
    DsPic.tblPicTest.Rows.Add(drPic)
    taPic.Update(DsPic.tblPicTest)

Теперь я хочу отобразить это изображение в графическом окне.Я пытался

PictureBox1.Image = Image.FromFile(vrPicHolder)

Но он говорит, что не может преобразовать Byte () в строку.Посоветуйте, пожалуйста, как загрузить эту картинку.Спасибо Furqan

Ответы [ 3 ]

6 голосов
/ 29 июля 2011

Метод, который вы вызываете, ожидает строку, которая является именем файла изображения.Вам нужно передать ему имя файла изображения в формате BMP, GIF, JPEG, PNG или TIFF.

Метод Image.FromFile (String)

Чтовы должны сделать это:

Dim pictureBytes as New MemoryStream(vrPicHolder)
PicutureBox1.Image = Image.FromStream(pictureBytes)

Метод Image.FromStream (Stream)

1 голос
/ 29 июля 2011

Это потому, что метод Image.FromFile ожидает FilePath как String. Это похоже на импорт файла по заданному пути. См. Метод Image.FromFile (String)

Метод Image.FromStream (Stream) является средством для этого.

Еще одна вещь, вы не должны устанавливать полный образ в базу данных. Вместо этого сохраните изображение в некоторый физический путь и обратитесь по этому пути из базы данных.

0 голосов
/ 29 июля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...