Заставить пользователя выбрать изображение с помощью folderbrowser для picturebox (VB.NET )

#windows #vb.net #image #folderbrowserdialog

#Windows #vb.net #изображение #folderbrowserdialog

Вопрос:

Благодаря одному из ваших старых вопросов я запустил этот код:

 Dim fd As OpenFileDialog = New OpenFileDialog()
Dim strFileName As String

fd.Title = "Please select an image"
fd.InitialDirectory = "C:Users"
fd.Filter = "PNG Images (*.png*)|*.png*|JPG Images (*.jpg*)|*.jpg*|JPEG Images (*.jpeg*)|*.jpeg*|All files (*.*)|*.*"
fd.FilterIndex = 2
fd.RestoreDirectory = True

If fd.ShowDialog() = DialogResult.OK Then
    strFileName = fd.FileName

    Dim ImageTest As Image
    ImageTest = fd.FileName

    PictureBox1.Image = ImageTest
End If
  

За исключением того, что ImageTest не работает. Это выдает ошибку:

Не удается преобразовать строку в изображение.

Как мне заставить пользователя выбрать личное изображение с помощью OpenFileDialog ?

Комментарии:

1. Добро пожаловать в StackOverflow. Пожалуйста, укажите ссылку на указанный вопрос.

Ответ №1:

Ошибка очевидна. Вы берете имя файла изображения (строку) и притворяетесь, что это изображение, загруженное с его байтами данных. Это неверно, и компилятор не может позволить вам продолжить.

Правильный способ

 If fd.ShowDialog() = DialogResult.OK Then
    strFileName = fd.FileName
    Dim ImageTest As Image = Image.FromFile(strFileName)
    PictureBox1.Image = ImageTest
End If
  

Ответ №2:

Используйте следующим образом:

 Sub AddImage()
    Using fd As OpenFileDialog = New OpenFileDialog()

        fd.Title = "Please select an image"
        fd.InitialDirectory = "C:Users"
        fd.Filter = "PNG Images (*.png*)|*.png*|JPG Images (*.jpg*)|*.jpg*|JPEG Images (*.jpeg*)|*.jpeg*|Tout les fichiers (*.*)|*.*"
        fd.FilterIndex = 2
        fd.RestoreDirectory = True

        If fd.ShowDialog() = DialogResult.OK Then
            Dim ImageTest As Image = Image.FromFile(fd.FileName)
            PictureBox1.Image = ImageTest
        End If

    End Using

End Sub
  

Комментарии:

1. О! Большое вам спасибо!