Export (0) Print
Expand All

Encoder.Quality Field

Represents an Encoder object that is initialized with the globally unique identifier for the quality parameter category.

Namespace:  System.Drawing.Imaging
Assembly:  System.Drawing (in System.Drawing.dll)

'Declaration
Public Shared ReadOnly Quality As Encoder
'Usage
Dim value As Encoder 

value = Encoder.Quality

The Quality category specifies the level of compression for an image. When used to construct an EncoderParameter, the range of useful values for the quality category is from 0 to 100. The lower the number specified, the higher the compression and therefore the lower the quality of the image. Zero would give you the lowest quality image and 100 the highest.

When you pass a parameter to an image encoder, the parameter is encapsulated in an EncoderParameter object. One of the fields of the EncoderParameter object is a GUID that specifies the category of the parameter. Use the static fields of the Encoder class to retrieve an Encoder that contains parameters of the desired category.

The image encoders that are built into GDI+ receive parameters that belong to several categories. The following table lists all the categories and the GUID associated with each category.

ChrominanceTable

f2e455dc-09b3-4316-8260-676ada32481c

ColorDepth

66087055-ad66-4c7c-9a18-38a2310b8337

Compression

e09d739d-ccd4-44ee-8eba-3fbf8be4fc58

LuminanceTable

edb33bce-0266-4a77-b904-27216099e717

Quality

1d5be4b5-fa4a-452d-9cdd-5db35105e7eb

RenderMethod

6d42c53a-229a-4825-8bb7-5c99e2b9a8b8

SaveFlag

292266fc-ac40-47bf-8cfc-a85b89a655de

ScanMethod

3a4e2661-3109-4e56-8536-42c156e7dcfa

Transformation

8d0eb2d1-a58e-4ea8-aa14-108074b7b6f9

Version

24d18c76-814a-41a4-bf53-1c219cccf797

The following example creates a Bitmap object from a BMP file. The code saves the bitmap to three JPEG files, each with a different quality level.

Imports System
Imports System.Drawing
Imports System.Drawing.Imaging


Class Example_SetJPEGQuality

    Public Shared Sub Main()
        Dim myBitmap As Bitmap
        Dim myImageCodecInfo As ImageCodecInfo
        Dim myEncoder As Encoder
        Dim myEncoderParameter As EncoderParameter
        Dim myEncoderParameters As EncoderParameters

        ' Create a Bitmap object based on a BMP file.
        myBitmap = New Bitmap("Shapes.bmp")

        ' Get an ImageCodecInfo object that represents the JPEG codec.
        myImageCodecInfo = GetEncoderInfo(ImageFormat.Jpeg)

        ' Create an Encoder object based on the GUID 
        ' for the Quality parameter category.
        myEncoder = Encoder.Quality

        ' Create an EncoderParameters object. 
        ' An EncoderParameters object has an array of EncoderParameter 
        ' objects. In this case, there is only one 
        ' EncoderParameter object in the array.
        myEncoderParameters = New EncoderParameters(1)

        ' Save the bitmap as a JPEG file with quality level 25.
        myEncoderParameter = New EncoderParameter(myEncoder, CType(25L, Int32))
        myEncoderParameters.Param(0) = myEncoderParameter
        myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters)

        ' Save the bitmap as a JPEG file with quality level 50.
        myEncoderParameter = New EncoderParameter(myEncoder, CType(50L, Int32))
        myEncoderParameters.Param(0) = myEncoderParameter
        myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters)

        ' Save the bitmap as a JPEG file with quality level 75.
        myEncoderParameter = New EncoderParameter(myEncoder, CType(75L, Int32))
        myEncoderParameters.Param(0) = myEncoderParameter
        myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters)

    End Sub 'Main

    Private Shared Function GetEncoderInfo(ByVal format As ImageFormat) As ImageCodecInfo
        Dim j As Integer 
        Dim encoders() As ImageCodecInfo
        encoders = 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
End Class 'Example_SetJPEGQuality

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft