'Sub Declaration
Public Shared Sub SaveJpeg(ByVal path As String, ByVal img As Image, ByVal quality As Long)
If ((quality < 0) OrElse (quality > 100)) Then
Throw New ArgumentOutOfRangeException("quality must be between 0 and 100.")
End If
' Encoder parameter for image quality
Dim qualityParam As New EncoderParameter(Encoder.Quality, quality)
' Jpeg image codec
Dim jpegCodec As ImageCodecInfo = GetEncoderInfo("image/jpeg")
Dim encoderParams As New EncoderParameters(1)
encoderParams.Param(0) = qualityParam
img.Save(path, jpegCodec, encoderParams)
End Sub
'Function Declaration used in Sub
Private Shared Function GetEncoderInfo(ByVal mimeType As String) As ImageCodecInfo
' Get image codecs for all image formats
Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()
' Find the correct image codec
Dim i As Integer
For i = 0 To codecs.Length - 1
If (codecs(i).MimeType = mimeType) Then
Return codecs(i)
End If
Next i
Return Nothing
End Function
'and to call it in your code...
SaveJpeg("FullPathAndNameOfImage", ImageObject, 50) '50% compression quality