Автор:
Команда Kbyte.Ru | добавлено: 11.12.2011, 12:20 | просмотров: 3117 (1+) | комментариев:
0 | рейтинг:
x7
Данный пример показывает, как на Visual Basic .NET сохранить изображение в формате JPEG с определенной степенью сжатия. Чем выше сжатие, тем меньше размер файла картинки, но тем хуже качество изображения. В примере можно указывать качество изображения в диапазоне от 0 до 100.
Public Sub Main()
Dim myImage As Image = Image.FromFile("C:\image.bmp") 'укажите файл, или изображение
Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameter As System.Drawing.Imaging.EncoderParameter
Dim myEncoderParameters As New System.Drawing.Imaging.EncoderParameters(1)
Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo
myImageCodecInfo = GetEncoderInfo(System.Drawing.Imaging.ImageFormat.Jpeg)
myEncoderParameter = New System.Drawing.Imaging.EncoderParameter(myEncoder, CType(75L, Integer))'75 - качество изображение, от 0 до 100
myEncoderParameters.Param(0) = myEncoderParameter
myImage.Save("C:\kbyte.jpg", myImageCodecInfo, myEncoderParameters)
End Sub
Private Function GetEncoderInfo(ByVal format As System.Drawing.Imaging.ImageFormat) As System.Drawing.Imaging.ImageCodecInfo
Dim j As Integer
Dim encoders() As System.Drawing.Imaging.ImageCodecInfo
encoders = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()
j = 0
While j < encoders.Length
If encoders(j).FormatID = format.Guid Then
Return encoders(j)
End If
j += 1
End While
Return Nothing
End Function 'GetEncoderInfo