EncoderParameters Конструкторы

Определение

Инициализирует новый экземпляр EncoderParameters класса, который может содержать указанное количество EncoderParameter объектов.

Перегрузки

Имя Описание
EncoderParameters()

Инициализирует новый экземпляр EncoderParameters класса, который может содержать один EncoderParameter объект.

EncoderParameters(Int32)

Инициализирует новый экземпляр EncoderParameters класса, который может содержать указанное количество EncoderParameter объектов.

EncoderParameters()

Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs

Инициализирует новый экземпляр EncoderParameters класса, который может содержать один EncoderParameter объект.

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

Примеры

В следующем примере кода показано, как создать и использовать EncoderParameters объект. Чтобы запустить этот пример, вставьте код в Форму Windows и вызовите VaryQualityLevel метод из конструктора формы. В этом примере требуется файл изображения с именем TestPhoto.jpgc:\.

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

Комментарии

Некоторые SaveSaveAdd из методов получают EncoderParameters объект в качестве аргумента. Метод GetEncoderParameterList возвращает EncoderParameters объект.

Применяется к

EncoderParameters(Int32)

Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs
Исходный код:
EncoderParameters.cs

Инициализирует новый экземпляр EncoderParameters класса, который может содержать указанное количество EncoderParameter объектов.

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 может содержать объект.

Применяется к