从文件夹[VB.NET]加载图像
我目前的程序有问题。我想为我的女朋友创建一个照片库,她可以安装在她的电脑上。我想在表单加载时从文件夹导入图像,并将其显示在PictureBox中 当我加载表单时,我会得到一个大的红色“X”,它填充了这个框。看起来像drawing.bitmap ErrorImage。有什么问题吗?非常感谢您的帮助。多谢各位从文件夹[VB.NET]加载图像,vb.net,visual-studio-2015,Vb.net,Visual Studio 2015,我目前的程序有问题。我想为我的女朋友创建一个照片库,她可以安装在她的电脑上。我想在表单加载时从文件夹导入图像,并将其显示在PictureBox中 当我加载表单时,我会得到一个大的红色“X”,它填充了这个框。看起来像drawing.bitmap ErrorImage。有什么问题吗?非常感谢您的帮助。多谢各位 Private Sub Pigge_Gallary_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim
Private Sub Pigge_Gallary_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim directory As New IO.DirectoryInfo("C:\Pics\Bears")
If directory.Exists Then
Dim jpgFiles() As IO.FileInfo = directory.GetFiles("*.jpg")
For Each jpgFile As IO.FileInfo In jpgFiles
If jpgFile.Exists Then
Dim image = Drawing.Image.FromFile(jpgFile.FullName)
Using image
PicPig.Image = image
End Using
End If
Next
End If
End Sub
一旦使用块退出
,图像引用将丢失
试着改变
PicPig.Image = image
到
或者将其设置为文件中的图像:
PicPig.Image = Drawing.Image.FromFile(jpgFile.FullName)
另外,因为您是在For循环中进行的,所以它只是在循环时替换picturebox图像。当循环结束时,picturebox将只显示最后一幅图像。像这样在列表中迭代只会显示最后一幅图像,因此整个循环毫无意义。此外,正如Chase Rocker在回答中指出的那样,在加载图像后,您将立即对其进行处理。
PicPig.Image = Drawing.Image.FromFile(jpgFile.FullName)