Create thumbnails dynamically

ApocDen 0 Tallied Votes 544 Views Share

1. Imports System.IO
2. Create class "CreateThumbnails"
or any class and place following function inside that class

You need one function to response call back to main function

Function ImageAbortDummyCallback() As Boolean
Return False
End Function

Function CreateJPEGThumbnail(ByVal inSourceFile As String, ByVal inDestinationFile As String, ByVal ThumbWidth As Integer, ByVal ThumbHeight As Integer) As Boolean
     
        Dim imageFile As System.Drawing.Image
        Dim outputFstream As New FileStream(inSourceFile, FileMode.Open, FileAccess.Read) 
        'Exposes a System.IO.Stream around a file, supporting both synchronous and asynchronous read and write operations.
        Dim ImageAbortCallBack As System.Drawing.Image.GetThumbnailImageAbort 
        'This method returns true if it decides that the System.Drawing.Image.GetThumbnailImage method should prematurely stop execution; otherwise, it returns false.

        imageFile = System.Drawing.Image.FromStream(outputFstream)
        ImageAbortCallBack = New System.Drawing.Image.GetThumbnailImageAbort(AddressOf ImageAbortDummyCallback)
        imageFile = imageFile.GetThumbnailImage(ThumbWidth, ThumbHeight, ImageAbortCallBack, IntPtr.Zero) 
        'IntPtr = A platform-specific type that is used to represent a pointer or a handle.
        imageFile.Save(inDestinationFile, System.Drawing.Imaging.ImageFormat.Jpeg)
        outputFstream.Close()
        outputFstream = Nothing
        imageFile = Nothing

    End Function