EncoderParameters 建構函式

定義

初始化 EncoderParameters 類別的新執行個體,這個執行個體可以含有指定數目的 EncoderParameter 物件。Initializes a new instance of the EncoderParameters class that can contain the specified number of EncoderParameter objects.

多載

EncoderParameters()

初始化 EncoderParameters 類別的新執行個體,這個執行個體可以含有一個 EncoderParameter 物件。Initializes a new instance of the EncoderParameters class that can contain one EncoderParameter object.

EncoderParameters(Int32)

初始化 EncoderParameters 類別的新執行個體,這個執行個體可以含有指定數目的 EncoderParameter 物件。Initializes a new instance of the EncoderParameters class that can contain the specified number of EncoderParameter objects.

EncoderParameters()

初始化 EncoderParameters 類別的新執行個體,這個執行個體可以含有一個 EncoderParameter 物件。Initializes a new instance of the EncoderParameters class that can contain one EncoderParameter object.

public:
 EncoderParameters();
public EncoderParameters ();
Public Sub New ()

範例

下列程式碼範例示範如何建立和使用EncoderParameters物件。The following code example demonstrates how to create and use a EncoderParameters object. 若要執行此範例, 請將程式碼貼入 Windows form, 並VaryQualityLevel從表單的「函式」呼叫方法。To run this example, paste the code into a Windows Form and call the VaryQualityLevel method from the form's constructor. 這個範例需要名為TestPhoto.jpg的影像檔, 其位於c:\This example requires an image file named TestPhoto.jpg located at c:\.

private void VaryQualityLevel()
{
    // Get a bitmap.
    Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg");
    ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);

    // Create an Encoder object based on the GUID
    // for the Quality parameter category.
    System.Drawing.Imaging.Encoder myEncoder =
        System.Drawing.Imaging.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.
    EncoderParameters myEncoderParameters = new EncoderParameters(1);

    EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters);

    myEncoderParameter = new EncoderParameter(myEncoder, 100L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters);

    // Save the bitmap as a JPG file with zero quality level compression.
    myEncoderParameter = new EncoderParameter(myEncoder, 0L);
    myEncoderParameters.Param[0] = myEncoderParameter;
    bmp1.Save(@"c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters);

}
Private Sub VaryQualityLevel()
    ' Get a bitmap.
    Dim bmp1 As New Bitmap("c:\TestPhoto.jpg")
    Dim jpgEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)

    ' Create an Encoder object based on the GUID
    ' for the Quality parameter category.
    Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.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.
    Dim myEncoderParameters As New EncoderParameters(1)

    Dim myEncoderParameter As New EncoderParameter(myEncoder, 50&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters)

    myEncoderParameter = New EncoderParameter(myEncoder, 100&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters)

    ' Save the bitmap as a JPG file with zero quality level compression.
    myEncoderParameter = New EncoderParameter(myEncoder, 0&)
    myEncoderParameters.Param(0) = myEncoderParameter
    bmp1.Save("c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters)

End Sub

private ImageCodecInfo GetEncoder(ImageFormat format)
{
    ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

    foreach (ImageCodecInfo codec in codecs)
    {
        if (codec.FormatID == format.Guid)
        {
            return codec;
        }
    }
    
    return null;
}
Private Function GetEncoder(ByVal format As ImageFormat) As ImageCodecInfo

    Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()

    Dim codec As ImageCodecInfo
    For Each codec In codecs
        If codec.FormatID = format.Guid Then
            Return codec
        End If
    Next codec
    Return Nothing

End Function

備註

Save某些和SaveAdd方法會接收EncoderParameters物件做為引數。Some of the Save and SaveAdd methods receive an EncoderParameters object as an argument. GetEncoderParameterList方法會傳回物件。 EncoderParametersThe GetEncoderParameterList method returns an EncoderParameters object.

EncoderParameters(Int32)

初始化 EncoderParameters 類別的新執行個體,這個執行個體可以含有指定數目的 EncoderParameter 物件。Initializes a new instance of the EncoderParameters class that can contain the specified number of EncoderParameter objects.

public:
 EncoderParameters(int count);
public EncoderParameters (int count);
new System.Drawing.Imaging.EncoderParameters : int -> System.Drawing.Imaging.EncoderParameters
Public Sub New (count As Integer)

參數

count
Int32

整數,這個整數指定 EncoderParameter 物件可以包含的 EncoderParameters 物件數目。An integer that specifies the number of EncoderParameter objects that the EncoderParameters object can contain.

適用於