Vb.net 如何使用“打开文件”对话框选择图像,然后将该图像放入另一个窗体上的Picturebox中?

Vb.net 如何使用“打开文件”对话框选择图像,然后将该图像放入另一个窗体上的Picturebox中?,vb.net,picturebox,Vb.net,Picturebox,如何使用“打开文件”对话框选择图像,然后将该图像放入另一个窗体上的Picturebox控件中 Private Sub btnLogo_Click(sender As Object, e As EventArgs) Handles btnLogo.Click OpenFileDialog1.Title = "Please Select a File" OpenFileDialog1.InitialDirectory = "C:" O

如何使用“打开文件”对话框选择图像,然后将该图像放入另一个窗体上的Picturebox控件中

Private Sub btnLogo_Click(sender As Object, e As EventArgs) Handles btnLogo.Click

    OpenFileDialog1.Title = "Please Select a File"
    OpenFileDialog1.InitialDirectory = "C:"
    OpenFileDialog1.ShowDialog()
    photo = OpenFileDialog1.FileName.ToString  
我猜这是错的,但我不知道该怎么办


然后一旦我选择了一个图像;将该图像放入另一个窗体上的Picturebox控件的适当代码是什么?

如果我理解正确,那么这很容易:

Sub OpenAnImageInPicturebox(ByRef pb As PictureBox)
    Dim ofd As New OpenFileDialog
    ofd.Filter = "Bitmap|*.bmp|JPEG|*.jpg" 'If you like file type filters you can add them here
    'any other modifications to the dialog
    If ofd.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub
    Try
        Dim bmp As New Bitmap(ofd.FileName)
        If Not IsNothing(pb.Image) Then pb.Image.Dispose() 'Optional if you want to destroy the previously loaded image
        pb.Image = bmp
    Catch
        MsgBox("Not a valid image file.")
    End Try
End Sub
试试这个:

photo = image.Fromfile( OpenFileDialog1.FileName)

希望能有所帮助

我在寻找
过滤器时遇到了这个问题,作为对以前答案的更新

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        OpenFileDialog1.Title = "Please select a file"
        OpenFileDialog1.InitialDirectory = "c:"
        OpenFileDialog1.ShowDialog()
        PictureBox1.ImageLocation = OpenFileDialog1.FileName.ToString
        PictureBox1.Visible = True


    End Sub
您想使用
OpenFileDialog
选择一个
图像
放入另一个
表单中的
图片盒控件
。我建议:-

  • 使用模块:使用任何
    表单上的图像
  • 使用默认图像:在出现错误时显示在
    PictureBox控件中。使用项目资源添加现有资源(PNG图像文件:noPhotoUsr)
  • 模块1的代码

    Module Module1
        Public Function _GetImgOFD(Frm As Form, PicBx As PictureBox) As Bitmap
            Dim _ErrBitmap As Bitmap = My.Resources.noPhotoUsr
            Dim ChosenBitmap As Bitmap
            Using OFD As OpenFileDialog = New OpenFileDialog
                With OFD
                    .Filter = ("Image File (*.ico;*.jpg;*.bmp;*.gif;*.png)|*.jpg;*.bmp;*.gif;*.png;*.ico")
                    .RestoreDirectory = True
                    .Multiselect = False
                    .CheckFileExists = True
                    If .ShowDialog(Frm) = DialogResult.OK Then
                        ChosenBitmap = Bitmap.FromFile(.FileName)
                    Else
                        ChosenBitmap = _ErrBitmap
                    End If
                End With
            End Using
            Return ChosenBitmap
        End Function
    End Module
    
    在任何表单图片框点击事件中使用的代码

    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        PictureBox1.Image = Module1._GetImgOFD(Me, PictureBox1)
    End Sub
    

    您需要使用
    GDI+
    来绘制彼此之间的图像。要将图像从文件放到pic框中,请查看
    System.Drawing.image
    类以了解下一步。@Protoix,他说“在另一个图像上”我读到了添加分层图像的内容。@DonA是的,在第一句话中,它是另一种形式的图片框中的
    ,然后它变为
    ,最后将该图像放入另一种形式的图片框中。我是在回答第一个问题,如果这是他/她真正的意思的话。我希望他们能为我们澄清这一点。