EncoderParameter EncoderParameter EncoderParameter EncoderParameter Class

Definición

Se utiliza para pasar un valor o una matriz de valores a un codificador de imágenes.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
Herencia
EncoderParameterEncoderParameterEncoderParameterEncoderParameter
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo EncoderParameter crear un EncoderParameter mediante el constructor.The following code example demonstrates how to create a EncoderParameter using the EncoderParameter constructor. Para ejecutar este ejemplo, pegue el código en un Windows Form y llame VaryQualityLevel al método desde el constructor del formulario.To run this example, paste the code into a Windows Form and call the VaryQualityLevel method from the form's constructor. Este ejemplo requiere un archivo de imagen TestPhoto.jpg denominado ubicado en 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

Comentarios

También puede usar un EncoderParameter objeto para recibir una lista de los posibles valores admitidos por un parámetro determinado de un codificador de imágenes determinado.You can also use an EncoderParameter object to receive a list of possible values supported by a particular parameter of a particular image encoder.

Constructores

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

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y un entero de 8 bits sin signo.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one unsigned 8-bit integer. Establece la propiedad ValueType en ValueTypeByte, y la propiedad NumberOfValues en 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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y un valor de 8 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 8-bit value. Establece el valor de la propiedad ValueType en ValueTypeUndefined o ValueTypeByte, y establece el valor de la propiedad NumberOfValues en 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[])

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y una matriz de enteros de 8 bits sin signo.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of unsigned 8-bit integers. Establece el valor de la propiedad ValueType en ValueTypeByte, y establece el valor de la propiedad NumberOfValues en el número de elementos de la matriz.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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y una matriz de bytes.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of bytes. Establece el valor de la propiedad ValueType en ValueTypeUndefined o ValueTypeByte, y establece el valor de la propiedad NumberOfValues en el número de elementos de la matriz.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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y un entero de 16 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one, 16-bit integer. Establece la propiedad ValueType en ValueTypeShort, y la propiedad NumberOfValues en 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[])

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y una matriz de enteros de 16 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 16-bit integers. Establece el valor de la propiedad ValueType en ValueTypeShort, y establece el valor de la propiedad NumberOfValues en el número de elementos de la matriz.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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder, número de valores, tipo de datos de los valores y un puntero a los valores almacenados en el objeto 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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y un par de enteros de 32 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 32-bit integers. El par de enteros representa una fracción; el primer entero es el numerador y el segundo, el denominador.The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. Establece la propiedad ValueType en ValueTypeRational, y la propiedad NumberOfValues en 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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y tres enteros que especifican el número de valores, el tipo de datos de los mismos, y un puntero a los valores almacenados en el objeto 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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y cuatro enteros de 32 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four, 32-bit integers. Los cuatro enteros representan un intervalo de fracciones.The four integers represent a range of fractions. Los dos primeros enteros representan la fracción menor del intervalo, y los dos enteros restantes, la fracción mayor.The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. Establece la propiedad ValueType en ValueTypeRationalRange, y la propiedad NumberOfValues en 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[])

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y dos matrices de enteros de 32 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 32-bit integers. Las dos matrices representan una matriz de fracciones.The two arrays represent an array of fractions. Establece la propiedad ValueType en ValueTypeRational, y la propiedad NumberOfValues en el número de elementos de la matriz numerator, que debe ser igual que el número de elementos de la matriz 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[])

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y cuatro matrices de enteros de 32 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four arrays of 32-bit integers. Las cuatro matrices representan una matriz de intervalos de racionales.The four arrays represent an array rational ranges. Un intervalo de racionales es el conjunto de todas las fracciones entre un valor fraccionario mínimo y uno máximo.A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. Establece el valor de la propiedad ValueType en ValueTypeRationalRange, y el valor de la propiedad NumberOfValues en el número de elementos de la matriz numerator1, que debe ser igual que el número de elementos de las otras tres matrices.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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y un entero de 64 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 64-bit integer. Establece la propiedad ValueType en ValueTypeLong (32 bits), y la propiedad NumberOfValues en 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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y un par de enteros de 64 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 64-bit integers. El par de enteros representa un intervalo de enteros; el primero es el menor número del intervalo, y el segundo, el mayor.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. Establece la propiedad ValueType en ValueTypeLongRange, y la propiedad NumberOfValues en 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[])

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y una matriz de enteros de 64 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 64-bit integers. Establece el valor de la propiedad ValueType en ValueTypeLong (32 bits), y establece el valor de la propiedad NumberOfValues en el número de elementos de la matriz.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[])

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y dos matrices de enteros de 64 bits.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 64-bit integers. Las dos matrices representan una matriz de intervalos de enteros.The two arrays represent an array integer ranges. Establece la propiedad ValueType en ValueTypeLongRange, y la propiedad NumberOfValues en el número de elementos de la matriz rangebegin, que debe ser igual que el número de elementos de la matriz 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)

Inicializa una nueva instancia de la clase EncoderParameter con el objeto Encoder especificado y una cadena de caracteres.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a character string. La cadena se convierte en una cadena ASCII terminada en null antes de almacenarla en el objeto EncoderParameter.The string is converted to a null-terminated ASCII string before it is stored in the EncoderParameter object. Establece la propiedad ValueType en ValueTypeAscii, y establece la propiedad NumberOfValues en la longitud de la cadena ASCII, incluido el terminador NULL.Sets the ValueType property to ValueTypeAscii, and sets the NumberOfValues property to the length of the ASCII string including the NULL terminator.

Propiedades

Encoder Encoder Encoder Encoder

Obtiene o establece el objeto Encoder asociado con este objeto EncoderParameter.Gets or sets the Encoder object associated with this EncoderParameter object. El objeto Encoder encapsula el identificador único global (GUID) que especifica la categoría (por ejemplo, Quality, ColorDepth o Compression) del parámetro almacenado en este objeto 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

Obtiene el número de elementos de la matriz de valores almacenada en este objeto EncoderParameter.Gets the number of elements in the array of values stored in this EncoderParameter object.

Type Type Type Type

Obtiene el tipo de datos de los valores almacenados en este objeto EncoderParameter.Gets the data type of the values stored in this EncoderParameter object.

ValueType ValueType ValueType ValueType

Obtiene el tipo de datos de los valores almacenados en este objeto EncoderParameter.Gets the data type of the values stored in this EncoderParameter object.

Métodos

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

Libera todos los recursos utilizados por este objeto EncoderParameter.Releases all resources used by this EncoderParameter object.

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

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

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

Permite que un objeto EncoderParameter intente liberar recursos y realizar otras operaciones de limpieza antes de que la recolección de elementos no utilizados reclame el objeto 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()

Sirve como la función hash predeterminada.Serves as the default hash function.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Se aplica a

Consulte también: