'The sub that compresses and saves:
Public Sub CompressImage(ByVal SourceFile As String, ByVal DestFile As String, ByVal MimeType As String, ByVal Quality As Integer)
'Variables
Dim myBitmap As Bitmap
Dim myImageCodecInfo As ImageCodecInfo
Dim myEncoder As Encoder
Dim myEncoderParameter As EncoderParameter
Dim myEncoderParameters As EncoderParameters
myBitmap = New Bitmap(SourceFile)
'Get the mimetype
myImageCodecInfo = GetEncoderInfo(MimeType)
'Set the quality
myEncoder = Encoder.Quality
myEncoderParameters = New EncoderParameters(1)
myEncoderParameter = New EncoderParameter(myEncoder, Quality)
myEncoderParameters.Param(0) = myEncoderParameter
'Save the new image
myBitmap.Save(DestFile, myImageCodecInfo, myEncoderParameters)
End Sub
'The sub that loads the image to a PictureBox
Public Sub LoadImage(ByVal Picturebox As PictureBox, ByVal ImagePath As String)
Picturebox.Image = Image.FromFile(ImagePath)
End Sub
'Trying to set the quality, save the image and reload it to a picturebox working as a preview:
'myImagePath and myImageTempPath are just variables.
CompressImage(myImagePath, myImageTempPath, "image/jpeg", cbQualLev.Text)
LoadImage(pbPreview, myImageTempPath)