EncoderParameter EncoderParameter EncoderParameter EncoderParameter Class

Definition

Wird verwendet, um einen Wert oder ein Array von Werten an einen Bildencoder zu übergeben.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
Vererbung
EncoderParameterEncoderParameterEncoderParameterEncoderParameter
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie zum Erstellen einer EncoderParameter mithilfe der EncoderParameter Konstruktor.The following code example demonstrates how to create a EncoderParameter using the EncoderParameter constructor. Um dieses Beispiel auszuführen, fügen Sie den Code in einem Windows Form, und rufen die VaryQualityLevel Methode aus dem Konstruktor des Formulars.To run this example, paste the code into a Windows Form and call the VaryQualityLevel method from the form's constructor. Dieses Beispiel erfordert eine Bilddatei namens TestPhoto.jpg am 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

Hinweise

Sie können auch eine EncoderParameter Objekt, das eine Liste der möglichen Werte, die von einem bestimmten Parameter eines bestimmten Bildencoders unterstützt erhalten.You can also use an EncoderParameter object to receive a list of possible values supported by a particular parameter of a particular image encoder.

Konstruktoren

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

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einer 8-Bit-Ganzzahl ohne Vorzeichen.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one unsigned 8-bit integer. Legt die ValueType-Eigenschaft auf ValueTypeByte und die NumberOfValues-Eigenschaft auf 1 fest.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einem 8-Bit-Wert.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 8-bit value. Legt die ValueType-Eigenschaft auf ValueTypeUndefined oder ValueTypeByte und die NumberOfValues-Eigenschaft auf 1 fest.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[])

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einem Array von 8-Bit-Ganzzahlen ohne Vorzeichen.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of unsigned 8-bit integers. Legt die ValueType-Eigenschaft auf ValueTypeByte und die NumberOfValues-Eigenschaft auf die Anzahl der Elemente im Array fest.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einem Bytearray.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of bytes. Legt die ValueType-Eigenschaft auf ValueTypeUndefined oder ValueTypeByte und die NumberOfValues-Eigenschaft auf die Anzahl der Elemente im Array fest.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einer 16-Bit-Ganzzahl.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one, 16-bit integer. Legt die ValueType-Eigenschaft auf ValueTypeShort und die NumberOfValues-Eigenschaft auf 1 fest.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[])

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einem Array von 16-Bit-Ganzzahlen.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 16-bit integers. Legt die ValueType-Eigenschaft auf ValueTypeShort und die NumberOfValues-Eigenschaft auf die Anzahl der Elemente im Array fest.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und drei ganzen Zahlen, die die Anzahl von Werten, den Datentyp der Werte und einen Zeiger auf die im EncoderParameter-Objekt gespeicherten Werte angeben.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einem Paar von 32-Bit-Ganzzahlen.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 32-bit integers. Das Ganzzahlenpaar stellt eine Bruchzahl dar, wobei die erste ganze Zahl der Zähler und die zweite ganze Zahl der Nenner ist.The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. Legt die ValueType-Eigenschaft auf ValueTypeRational und die NumberOfValues-Eigenschaft auf 1 fest.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und drei ganzen Zahlen, die die Anzahl von Werten, den Datentyp der Werte und einen Zeiger auf die im EncoderParameter-Objekt gespeicherten Werte angeben.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und vier 32-Bit-Ganzzahlen.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four, 32-bit integers. Die vier ganzen Zahlen stellen einen Bereich von Bruchzahlen dar.The four integers represent a range of fractions. Die ersten beiden ganzen Zahlen stellen die kleinste Bruchzahl im Bereich dar, und die beiden anderen ganzen Zahlen stellen die größte Bruchzahl im Bereich dar.The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. Legt die ValueType-Eigenschaft auf ValueTypeRationalRange und die NumberOfValues-Eigenschaft auf 1 fest.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[])

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und zwei Arrays von 32-Bit-Ganzzahlen.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 32-bit integers. Die beiden Arrays stellen ein Array von Bruchzahlen dar.The two arrays represent an array of fractions. Legt die ValueType-Eigenschaft auf ValueTypeRational und die NumberOfValues-Eigenschaft auf die Anzahl der Elemente im numerator-Array fest, die gleich der Anzahl der Elemente im denominator-Array sein muss.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[])

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und vier Arrays von 32-Bit-Ganzzahlen.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four arrays of 32-bit integers. Die vier Arrays stellen ein Array von Bereichen rationaler Zahlen dar.The four arrays represent an array rational ranges. Ein rationaler Bereich ist die Menge aller Bruchzahlen von einem kleinsten Bruchwert bis zu einem größten Bruchwert.A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. Legt die ValueType-Eigenschaft auf ValueTypeRationalRange und die NumberOfValues-Eigenschaft auf die Anzahl der Elemente im numerator1-Array fest, die gleich der Anzahl der Elemente in den anderen drei Arrays sein muss.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einer 64-Bit-Ganzzahl.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 64-bit integer. Legt die ValueType-Eigenschaft auf ValueTypeLong (32 Bits) und die NumberOfValues-Eigenschaft auf 1 fest.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einem Paar von ganzen Zahlen mit einer Länge von 64 Bit.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 64-bit integers. Die beiden ganzen Zahlen stellen einen Bereich von ganzen Zahlen dar. Dabei stellt die erste ganze Zahl die kleinste Zahl in dem Bereich dar und die zweite ganze Zahl die größte.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. Legt die ValueType-Eigenschaft auf ValueTypeLongRange und die NumberOfValues-Eigenschaft auf 1 fest.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[])

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einem Array von ganzen Zahlen mit einer Länge von 64 Bit.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 64-bit integers. Legt die ValueType-Eigenschaft auf ValueTypeLong (32-Bit) und die NumberOfValues-Eigenschaft auf die Anzahl der Elemente im Array fest.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[])

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und zwei Arrays von ganzen Zahlen mit einer Länge von 64 Bit.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 64-bit integers. Die beiden Arrays stellen ein Array von Ganzzahlbereichen dar.The two arrays represent an array integer ranges. Legt die ValueType-Eigenschaft auf ValueTypeLongRange und die NumberOfValues-Eigenschaft auf die Anzahl der Elemente im rangebegin-Array fest, die gleich der Anzahl der Elemente im rangeend-Array sein muss.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)

Initialisiert eine neue Instanz der EncoderParameter-Klasse mit dem angegebenen Encoder-Objekt und einer Zeichenfolge.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a character string. Dieser Parameter wird in eine mit NULL endende ASCII-Zeichenfolge konvertiert, bevor er im EncoderParameter-Objekt gespeichert wird.The string is converted to a null-terminated ASCII string before it is stored in the EncoderParameter object. Legt die ValueType-Eigenschaft auf ValueTypeAscii und die NumberOfValues-Eigenschaft auf die Länge der ASCII-Zeichenfolge einschließlich des NULL-Terminators fest.Sets the ValueType property to ValueTypeAscii, and sets the NumberOfValues property to the length of the ASCII string including the NULL terminator.

Eigenschaften

Encoder Encoder Encoder Encoder

Ruft das Encoder-Objekt ab, das diesem EncoderParameter-Objekt zugeordnet ist, oder legt dieses fest.Gets or sets the Encoder object associated with this EncoderParameter object. Das Encoder-Objekt kapselt den global eindeutigen Bezeichner (Globally Unique Identifier, GUID), der die Kategorie (z. B. Quality, ColorDepth oder Compression) für den in diesem EncoderParameter-Objekt gespeicherten Parameter angibt.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

Ruft die Anzahl der Elemente in dem Array ab, das in diesem EncoderParameter-Objekt gespeichert ist.Gets the number of elements in the array of values stored in this EncoderParameter object.

Type Type Type Type

Ruft den Datentyp der in diesem EncoderParameter-Objekt gespeicherten Werte ab.Gets the data type of the values stored in this EncoderParameter object.

ValueType ValueType ValueType ValueType

Ruft den Datentyp der in diesem EncoderParameter-Objekt gespeicherten Werte ab.Gets the data type of the values stored in this EncoderParameter object.

Methoden

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

Gibt alle von diesem EncoderParameter-Objekt verwendeten Ressourcen frei.Releases all resources used by this EncoderParameter object.

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

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Ermöglicht einem EncoderParameter-Objekt den Versuch, Ressourcen freizugeben und andere Bereinigungsvorgänge durchzuführen, bevor das EncoderParameter-Objekt durch die Garbage Collection wieder zugänglich gemacht wird.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()

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

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

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch