EncoderParameter EncoderParameter EncoderParameter EncoderParameter Class

Определение

Используется для передачи значения или массива значений кодировщику изображений.Used to pass a value, or an array of values, to an image encoder.

public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
    interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
Наследование
EncoderParameterEncoderParameterEncoderParameterEncoderParameter
Реализации

Примеры

В следующем примере кода демонстрируется создание EncoderParameter с помощью EncoderParameter конструктор.The following code example demonstrates how to create a EncoderParameter using the EncoderParameter constructor. Чтобы выполнить этот пример, вставьте код в форму Windows и вызовите 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 'VaryQualityLevel

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

Комментарии

Можно также использовать EncoderParameter объект для получения списка возможных значений, поддерживаемых определенным параметром определенного кодировщика изображений.You can also use an EncoderParameter object to receive a list of possible values supported by a particular parameter of a particular image encoder.

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

EncoderParameter(Encoder, Byte) EncoderParameter(Encoder, Byte) EncoderParameter(Encoder, Byte) EncoderParameter(Encoder, Byte)

Инициализирует новый экземпляр класса EncoderParameter с указанным объектом Encoder и одним 8-разрядным целым числом без знака.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one unsigned 8-bit integer. Позволяет задать для свойства ValueType значение ValueTypeByte, а для свойства NumberOfValues — значение 1.Sets the ValueType property to ValueTypeByte, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Byte, Boolean) EncoderParameter(Encoder, Byte, Boolean) EncoderParameter(Encoder, Byte, Boolean) EncoderParameter(Encoder, Byte, Boolean)

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и одним 8-разрядным значением.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 8-bit value. Позволяет задать для свойства ValueType значение ValueTypeUndefined или ValueTypeByte, а для свойства NumberOfValues — значение 1.Sets the ValueType property to ValueTypeUndefined or ValueTypeByte, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Byte[]) EncoderParameter(Encoder, Byte[]) EncoderParameter(Encoder, Byte[]) EncoderParameter(Encoder, Byte[])

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и массивом из 8-разрядных целых чисел без знака.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of unsigned 8-bit integers. Позволяет задать для свойства ValueType значение ValueTypeByte, а для свойства NumberOfValues — количество элементов массива.Sets the ValueType property to ValueTypeByte, and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Byte[], Boolean) EncoderParameter(Encoder, Byte[], Boolean) EncoderParameter(Encoder, Byte[], Boolean) EncoderParameter(Encoder, Byte[], Boolean)

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и массивом байтов.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of bytes. Позволяет задать для свойства ValueType значение ValueTypeUndefined или ValueTypeByte, а для свойства NumberOfValues — количество элементов массива.Sets the ValueType property to ValueTypeUndefined or ValueTypeByte, and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Int16) EncoderParameter(Encoder, Int16) EncoderParameter(Encoder, Int16) EncoderParameter(Encoder, Int16)

Инициализация нового экземпляра класса EncoderParameter с указанным объектом Encoder и одним 16-разрядным целым числом.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one, 16-bit integer. Позволяет задать для свойства ValueType значение ValueTypeShort, а для свойства NumberOfValues — значение 1.Sets the ValueType property to ValueTypeShort, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int16[]) EncoderParameter(Encoder, Int16[]) EncoderParameter(Encoder, Int16[]) EncoderParameter(Encoder, Int16[])

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и массивом из 16-разрядных целых чисел.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 16-bit integers. Позволяет задать для свойства ValueType значение ValueTypeShort, а для свойства NumberOfValues — количество элементов массива.Sets the ValueType property to ValueTypeShort, and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr) EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr) EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr) EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

Инициализирует новый экземпляр класса EncoderParameter с указанным объектом Encoder, количеством значений, типом данных значений и указателем на значения, хранящиеся в объекте EncoderParameter.Initializes a new instance of the EncoderParameter class with the specified Encoder object, number of values, data type of the values, and a pointer to the values stored in the EncoderParameter object.

EncoderParameter(Encoder, Int32, Int32) EncoderParameter(Encoder, Int32, Int32) EncoderParameter(Encoder, Int32, Int32) EncoderParameter(Encoder, Int32, Int32)

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и парой 32-разрядных целых чисел.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 32-bit integers. Пара целых чисел представляет дробь, где первое целое число является числителем, а второе — знаменателем.The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. Позволяет задать для свойства ValueType значение ValueTypeRational, а для свойства NumberOfValues — значение 1.Sets the ValueType property to ValueTypeRational, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32)

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и тремя целыми числами, определяющими количество значений, тип данных значений и указатель на значения, хранящиеся в объекте EncoderParameter.Initializes a new instance of the EncoderParameter class with the specified Encoder object and three integers that specify the number of values, the data type of the values, and a pointer to the values stored in the EncoderParameter object.

EncoderParameter(Encoder, Int32, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32, Int32) EncoderParameter(Encoder, Int32, Int32, Int32, Int32)

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и четырьмя 32-разрядным целыми числами.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four, 32-bit integers. Четыре целых числа представляют диапазон дробей.The four integers represent a range of fractions. Первые два целых числа представляют наименьшую дробь диапазона, а оставшиеся два — наибольшую.The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. Позволяет задать для свойства ValueType значение ValueTypeRationalRange, а для свойства NumberOfValues — значение 1.Sets the ValueType property to ValueTypeRationalRange, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[])

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и двумя массивами из 32-разрядных целых чисел.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 32-bit integers. Два массива представляют массив дробей.The two arrays represent an array of fractions. Устанавливает для свойства ValueType значение ValueTypeRational, а для свойства NumberOfValues — количество элементов массива numerator, которое должно совпадать с количеством элементов массива denominator.Sets the ValueType property to ValueTypeRational, and sets the NumberOfValues property to the number of elements in the numerator array, which must be the same as the number of elements in the denominator array.

EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[]) EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[])

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и четырьмя массивами из 32-разрядных целых чисел.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four arrays of 32-bit integers. Четыре массива представляют рациональные диапазоны массива.The four arrays represent an array rational ranges. Рациональный диапазон — это множество всех дробей от минимального дробного значения до максимального.A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. Устанавливает для свойства ValueType значение ValueTypeRationalRange, а для свойства NumberOfValues — количество элементов массива numerator1, которое должно совпадать с количеством элементов в трех других массивах.Sets the ValueType property to ValueTypeRationalRange, and sets the NumberOfValues property to the number of elements in the numerator1 array, which must be the same as the number of elements in the other three arrays.

EncoderParameter(Encoder, Int64) EncoderParameter(Encoder, Int64) EncoderParameter(Encoder, Int64) EncoderParameter(Encoder, Int64)

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и одним 64-разрядным целым числом.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 64-bit integer. Устанавливает для свойства ValueType значение ValueTypeLong (32 бита), а для свойства NumberOfValues — значение 1.Sets the ValueType property to ValueTypeLong (32 bits), and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int64, Int64) EncoderParameter(Encoder, Int64, Int64) EncoderParameter(Encoder, Int64, Int64) EncoderParameter(Encoder, Int64, Int64)

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и парой 64-разрядных целых чисел.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 64-bit integers. Пара целых чисел представляет диапазон целых чисел, первое число является наименьшим в этом диапазоне, а второе — наибольшим.The pair of integers represents a range of integers, the first integer being the smallest number in the range, and the second integer being the largest number in the range. Позволяет задать для свойства ValueType значение ValueTypeLongRange, а для свойства NumberOfValues — значение 1.Sets the ValueType property to ValueTypeLongRange, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int64[]) EncoderParameter(Encoder, Int64[]) EncoderParameter(Encoder, Int64[]) EncoderParameter(Encoder, Int64[])

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и массивом из 64-разрядных целых чисел.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 64-bit integers. Установка для свойства ValueType значения ValueTypeLong (32-разрядное), а для свойства NumberOfValues — количества элементов массива.Sets the ValueType property to ValueTypeLong (32-bit), and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Int64[], Int64[]) EncoderParameter(Encoder, Int64[], Int64[]) EncoderParameter(Encoder, Int64[], Int64[]) EncoderParameter(Encoder, Int64[], Int64[])

Инициализация нового экземпляра класса EncoderParameter указанным объектом Encoder и двумя массивами из 64-разрядных целых чисел.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 64-bit integers. Два массива представляют массив диапазонов целых чисел.The two arrays represent an array integer ranges. Устанавливает для свойства ValueType значение ValueTypeLongRange, а для свойства NumberOfValues — количество элементов массива rangebegin, которое должно совпадать с количеством элементов массива rangeend.Sets the ValueType property to ValueTypeLongRange, and sets the NumberOfValues property to the number of elements in the rangebegin array, which must be the same as the number of elements in the rangeend array.

EncoderParameter(Encoder, String) EncoderParameter(Encoder, String) EncoderParameter(Encoder, String) EncoderParameter(Encoder, String)

Инициализирует новый экземпляр класса EncoderParameter с указанным объектом Encoder и строкой символов.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a character string. Строка преобразуется в строку ASCII-символов с завершающим нулем перед сохранением в объект EncoderParameter.The string is converted to a null-terminated ASCII string before it is stored in the EncoderParameter object. Устанавливает для свойства ValueType значение ValueTypeAscii, а для свойства NumberOfValues — длину строки ASCII-символов, включая символ конца строки NULL.Sets the ValueType property to ValueTypeAscii, and sets the NumberOfValues property to the length of the ASCII string including the NULL terminator.

Свойства

Encoder Encoder Encoder Encoder

Получает или задает объект Encoder, связанный с объектом EncoderParameter.Gets or sets the Encoder object associated with this EncoderParameter object. Объект Encoder инкапсулирует глобальный уникальный идентификатор (GUID), определяющий категорию (например Quality, ColorDepth или Compression) параметра, хранящегося в этом объекте EncoderParameter.The Encoder object encapsulates the globally unique identifier (GUID) that specifies the category (for example Quality, ColorDepth, or Compression) of the parameter stored in this EncoderParameter object.

NumberOfValues NumberOfValues NumberOfValues NumberOfValues

Возвращает количество элементов массива значений, хранящихся в этом объекте EncoderParameter.Gets the number of elements in the array of values stored in this EncoderParameter object.

Type Type Type Type

Получает тип данных значений, хранящихся в этом объекте EncoderParameter.Gets the data type of the values stored in this EncoderParameter object.

ValueType ValueType ValueType ValueType

Получает тип данных значений, хранящихся в этом объекте EncoderParameter.Gets the data type of the values stored in this EncoderParameter object.

Методы

Dispose() Dispose() Dispose() Dispose()

Освобождает все ресурсы, используемые этим объектом EncoderParameter.Releases all resources used by this EncoderParameter object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Позволяет объекту EncoderParameter предпринять попытку освободить ресурсы и выполнить другие завершающие операции перед утилизацией объекта EncoderParameter в процессе сборки мусора.Allows an EncoderParameter object to attempt to free resources and perform other cleanup operations before the EncoderParameter object is reclaimed by garbage collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

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

Дополнительно