#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. О! Большое вам спасибо!