Question Program to make thumbnails and Generic Error

Blake81

Well-known member
Joined
Feb 23, 2006
Messages
304
Location
Georgia, USA
Programming Experience
1-3
I need to make thumbnail images of all of the files in one folder and save them to another folder. I have this code mostly working, but I'm getting "A generic error occurred in GDI+" on the line in red.

VB.NET:
Public Class Form1
    Dim img As Image
    Dim img2 As Image
    Dim abt As Image.GetThumbnailImageAbort
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        FolderBrowserDialog1.ShowDialog()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        FolderBrowserDialog2.ShowDialog()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If FolderBrowserDialog1.SelectedPath.Length > 1 Then
            If FolderBrowserDialog2.SelectedPath.Length > 1 Then
                Dim NewResize As Threading.Thread
                NewResize = New Threading.Thread(AddressOf ResizeImages)
                NewResize.Start()


                ResizeImages()
            End If
        End If
        
    End Sub
    Public Sub ResizeImages()
        Dim fl As String
        abt = New Image.GetThumbnailImageAbort(AddressOf imgabt)
        For Each fl In IO.Directory.GetFiles(FolderBrowserDialog1.SelectedPath, "*")
            Dim fls() As String = fl.Split("\")
            Dim donefile As String = fls(fls.Count - 1)
            Dim partfile() As String = donefile.Split(".")
            If Not IO.File.Exists("C:\Users\Blake\Desktop\smalls" & donefile) Then
                img = Image.FromFile(fl)
                Dim img2 As Image = img.GetThumbnailImage(100, 100, abt, Me.Handle)
                [COLOR=Red]img2.Save(FolderBrowserDialog2.SelectedPath & "\" & partfile(0) & "small" & "." & partfile(1))[/COLOR]
            End If
        Next
        MessageBox.Show("Done")
    End Sub
    Public Function imgabt()


    End Function

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.CheckForIllegalCrossThreadCalls = False
    End Sub
End Class
 
Back
Top