EncoderParameter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se usa para pasar un valor, o una matriz de valores, a un codificador de imágenes.
public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
- Herencia
-
EncoderParameter
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se muestra cómo crear un EncoderParameter mediante el EncoderParameter constructor . Para ejecutar este ejemplo, pegue el código en un formulario Windows Forms y llame al VaryQualityLevel método desde el constructor del formulario. En este ejemplo se requiere un archivo de imagen denominado TestPhoto.jpg ubicado en 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 valores posibles admitidos por un parámetro determinado de un codificador de imagen determinado.
Nota:
En .NET 6 y versiones posteriores, el paquete System.Drawing.Common, que incluye este tipo, solo se admite en sistemas operativos Windows. El uso de este tipo en aplicaciones multiplataforma provoca advertencias en tiempo de compilación y excepciones en tiempo de ejecución. Para obtener más información, consulte System.Drawing.Common only supported on Windows (Solo se admite System.Drawing.Common en Windows).
Constructores
| Nombre | Description |
|---|---|
| EncoderParameter(Encoder, Byte, Boolean) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y un valor de 8 bits. Establece la ValueType propiedad en ValueTypeUndefined o ValueTypeBytey establece la NumberOfValues propiedad en 1. |
| EncoderParameter(Encoder, Byte) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y un entero de 8 bits sin signo. Establece la ValueType propiedad ValueTypeByteen y establece la NumberOfValues propiedad en 1. |
| EncoderParameter(Encoder, Byte[], Boolean) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y una matriz de bytes. Establece la ValueType propiedad en ValueTypeUndefined o ValueTypeBytey establece la NumberOfValues propiedad en el número de elementos de la matriz. |
| EncoderParameter(Encoder, Byte[]) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y una matriz de enteros de 8 bits sin signo. Establece la ValueType propiedad ValueTypeByteen y establece la NumberOfValues propiedad en el número de elementos de la matriz. |
| EncoderParameter(Encoder, Int16) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y un entero de 16 bits. Establece la ValueType propiedad ValueTypeShorten y establece la NumberOfValues propiedad en 1. |
| EncoderParameter(Encoder, Int16[]) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y una matriz de enteros de 16 bits. Establece la ValueType propiedad ValueTypeShorten y establece la NumberOfValues propiedad en el número de elementos de la matriz. |
| EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder , el número de valores, el tipo de datos de los valores y un puntero a los valores almacenados en el EncoderParameter objeto . |
| EncoderParameter(Encoder, Int32, Int32, Int32, Int32) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y cuatro enteros de 32 bits. Los cuatro enteros representan un intervalo de fracciones. Los dos primeros enteros representan la fracción más pequeña del intervalo y los dos enteros restantes representan la fracción más grande del intervalo. Establece la ValueType propiedad ValueTypeRationalRangeen y establece la NumberOfValues propiedad en 1. |
| EncoderParameter(Encoder, Int32, Int32, Int32) |
Obsoletos.
Obsoletos.
Obsoletos.
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y tres enteros que especifican el número de valores, el tipo de datos de los valores y un puntero a los valores almacenados en el EncoderParameter objeto. |
| EncoderParameter(Encoder, Int32, Int32) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y un par de enteros de 32 bits. El par de enteros representa una fracción, el primer entero que es el numerador y el segundo entero es el denominador. Establece la ValueType propiedad ValueTypeRationalen y establece la NumberOfValues propiedad en 1. |
| EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[]) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y cuatro matrices de enteros de 32 bits. Las cuatro matrices representan un rango racional de matriz. Un intervalo racional es el conjunto de todas las fracciones de un valor fraccionario mínimo a través de un valor fraccionario máximo. Establece la ValueType propiedad ValueTypeRationalRangeen y establece la NumberOfValues propiedad en el número de elementos de la |
| EncoderParameter(Encoder, Int32[], Int32[]) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y dos matrices de enteros de 32 bits. Las dos matrices representan una matriz de fracciones. Establece la ValueType propiedad ValueTypeRationalen y establece la NumberOfValues propiedad en el número de elementos de la |
| EncoderParameter(Encoder, Int64, Int64) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y un par de enteros de 64 bits. El par de enteros representa un intervalo de enteros, el primer entero es el número más pequeño del intervalo y el segundo entero es el número más grande del intervalo. Establece la ValueType propiedad ValueTypeLongRangeen y establece la NumberOfValues propiedad en 1. |
| EncoderParameter(Encoder, Int64) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y un entero de 64 bits. Establece la ValueType propiedad ValueTypeLong en (32 bits) y establece la NumberOfValues propiedad en 1. |
| EncoderParameter(Encoder, Int64[], Int64[]) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y dos matrices de enteros de 64 bits. Las dos matrices representan un intervalo entero de matriz. Establece la ValueType propiedad ValueTypeLongRangeen y establece la NumberOfValues propiedad en el número de elementos de la |
| EncoderParameter(Encoder, Int64[]) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y una matriz de enteros de 64 bits. Establece la ValueType propiedad ValueTypeLong en (32 bits) y establece la NumberOfValues propiedad en el número de elementos de la matriz. |
| EncoderParameter(Encoder, String) |
Inicializa una nueva instancia de la EncoderParameter clase con el objeto especificado Encoder y una cadena de caracteres. La cadena se convierte en una cadena ASCII terminada en null antes de almacenarla en el EncoderParameter objeto . Establece la ValueType propiedad ValueTypeAsciien y establece la NumberOfValues propiedad en la longitud de la cadena ASCII, incluido el terminador NULL. |
Propiedades
| Nombre | Description |
|---|---|
| Encoder |
Obtiene o establece el Encoder objeto asociado a este EncoderParameter objeto. El Encoder objeto encapsula el identificador único global (GUID) que especifica la categoría (por ejemplo Quality, , ColorDeptho Compression) del parámetro almacenado en este EncoderParameter objeto. |
| NumberOfValues |
Obtiene el número de elementos de la matriz de valores almacenados en este EncoderParameter objeto. |
| Type |
Obtiene el tipo de datos de los valores almacenados en este EncoderParameter objeto. |
| ValueType |
Obtiene el tipo de datos de los valores almacenados en este EncoderParameter objeto. |
Métodos
| Nombre | Description |
|---|---|
| Dispose() |
Libera todos los recursos usados por este EncoderParameter objeto. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| Finalize() |
Permite que un EncoderParameter objeto intente liberar recursos y realizar otras operaciones de limpieza antes de que la recolección de elementos no utilizados recupere el EncoderParameter objeto. |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |