Dim inputPath As String = "f:\g\DSC01371.jpg"
Dim outputPath As String = "f:\g\vDSC01371.jpg"
Using originalImage As Image = Image.FromFile(inputPath)
' 设置压缩质量(0-100)
Dim quality As Long = 50L
Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageDecoders()
Dim jpgEncoder As ImageCodecInfo = Nothing
For Each codec As ImageCodecInfo In codecs
If codec.FormatID = ImageFormat.Jpeg.Guid Then
jpgEncoder = codec
Exit For
End If
Next codec
' 创建编码参数
Dim myEncoder As Encoder = Encoder.Quality
Dim myEncoderParameters As New EncoderParameters(1)
Dim myEncoderParameter As New EncoderParameter(myEncoder, CType(quality, Byte))
myEncoderParameters.Param(0) = myEncoderParameter
' 保存压缩后的图像
originalImage.Save(outputPath, jpgEncoder, myEncoderParameters)
End Using