EncoderParameter Klasse

Definition

Wird verwendet, um einen Wert oder ein Array von Werten an einen Bildgeber zu übergeben.

public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
    interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
Vererbung
EncoderParameter
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie einen EncoderParameter mit dem Konstruktor EncoderParameter erstellen. Zum Ausführen dieses Beispiels fügen Sie den Code in ein Windows Form-Formular ein, und rufen Sie die VaryQualityLevel Methode aus dem Konstruktor des Formulars auf. In diesem Beispiel ist eine Bilddatei mit dem Namen TestPhoto.jpg"c:\" erforderlich.

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

Hinweise

Sie können auch ein EncoderParameter Objekt verwenden, um eine Liste möglicher Werte zu erhalten, die von einem bestimmten Parameter eines bestimmten Bildgebers unterstützt werden.

Note

In .NET 6 und höheren Versionen wird das System.Drawing.Common-Paket, das diesen Typ enthält, nur unter Windows-Betriebssystemen unterstützt. Die Verwendung dieses Typs in plattformübergreifenden Apps führt zu Kompilierungszeitwarnungen und Laufzeit-Ausnahmen. Weitere Informationen finden Sie unter System.Drawing.Common wird nur unter Windows unterstützt.

Konstruktoren

Name Beschreibung
EncoderParameter(Encoder, Byte, Boolean)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einem 8-Bit-Wert. Legt die ValueType Eigenschaft auf ValueTypeUndefined oder ValueTypeByte, und legt die NumberOfValues Eigenschaft auf 1 fest.

EncoderParameter(Encoder, Byte)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einer nicht signierten 8-Bit-Ganzzahl. Legt die ValueType Eigenschaft auf ValueTypeByte, und legt die NumberOfValues Eigenschaft auf 1 fest.

EncoderParameter(Encoder, Byte[], Boolean)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einem Bytearray. Legt die ValueType Eigenschaft auf ValueTypeUndefined oder ValueTypeByte, und legt die NumberOfValues Eigenschaft auf die Anzahl der Elemente im Array fest.

EncoderParameter(Encoder, Byte[])

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einem Array von nicht signierten 8-Bit-Ganzzahlen. Legt die ValueType Eigenschaft auf ValueTypeByteund legt die NumberOfValues Eigenschaft auf die Anzahl der Elemente im Array fest.

EncoderParameter(Encoder, Int16)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einer 16-Bit-Ganzzahl. Legt die ValueType Eigenschaft auf ValueTypeShort, und legt die NumberOfValues Eigenschaft auf 1 fest.

EncoderParameter(Encoder, Int16[])

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einem Array mit 16-Bit-Ganzzahlen. Legt die ValueType Eigenschaft auf ValueTypeShortund legt die NumberOfValues Eigenschaft auf die Anzahl der Elemente im Array fest.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt, der Anzahl der Werte, dem Datentyp der Werte und einem Zeiger auf die im EncoderParameter Objekt gespeicherten Werte.

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

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und vier, 32-Bit-Ganzzahlen. Die vier ganzen Zahlen stellen einen Bereich von Bruchzahlen dar. Die ersten beiden ganzzahligen Zahlen stellen den kleinsten Bruch im Bereich dar, und die verbleibenden zwei ganzzahligen Zahlen stellen den größten Bruchteil im Bereich dar. Legt die ValueType Eigenschaft auf ValueTypeRationalRange, und legt die NumberOfValues Eigenschaft auf 1 fest.

EncoderParameter(Encoder, Int32, Int32, Int32)
Veraltet.
Veraltet.
Veraltet.

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und drei ganzzahligen Zahlen, die die Anzahl der Werte, den Datentyp der Werte und einen Zeiger auf die im EncoderParameter Objekt gespeicherten Werte angeben.

EncoderParameter(Encoder, Int32, Int32)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einem 32-Bit-Ganzzahlpaar. Das Ganzzahlpaar stellt einen Bruch dar, die erste ganze Zahl als Zähler und die zweite ganze Zahl, die den Nenner darstellt. Legt die ValueType Eigenschaft auf ValueTypeRational, und legt die NumberOfValues Eigenschaft auf 1 fest.

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

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und vier Arrays mit 32-Bit-Ganzzahlen. Die vier Arrays stellen einen rationalen Arraybereich dar. Ein rationaler Bereich ist der Satz aller Bruchzahlen von einem minimalen Bruchwert bis hin zu einem maximalen Bruchwert. Legt die ValueType Eigenschaft auf ValueTypeRationalRangeund legt die NumberOfValues Eigenschaft auf die Anzahl der Elemente im numerator1 Array fest, die mit der Anzahl der Elemente in den anderen drei Arrays identisch sein müssen.

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

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und zwei Arrays von 32-Bit-Ganzzahlen. Die beiden Arrays stellen ein Array von Bruchzahlen dar. Legt die ValueType Eigenschaft auf ValueTypeRationalund legt die NumberOfValues Eigenschaft auf die Anzahl der Elemente im numerator Array fest, die mit der Anzahl der Elemente im denominator Array identisch sein müssen.

EncoderParameter(Encoder, Int64, Int64)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einem 64-Bit-Ganzzahlpaar. Das Ganzzahlpaar stellt einen Ganzzahlbereich dar, die erste ganze Zahl, die kleinste Zahl im Bereich und die zweite ganze Zahl, die die größte Zahl im Bereich ist. Legt die ValueType Eigenschaft auf ValueTypeLongRange, und legt die NumberOfValues Eigenschaft auf 1 fest.

EncoderParameter(Encoder, Int64)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einer 64-Bit-Ganzzahl. Legt die ValueType Eigenschaft auf ValueTypeLong (32 Bit) fest und legt die NumberOfValues Eigenschaft auf 1 fest.

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

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und zwei Arrays mit 64-Bit-Ganzzahlen. Die beiden Arrays stellen einen Array-Ganzzahlbereich dar. Legt die ValueType Eigenschaft auf ValueTypeLongRangeund legt die NumberOfValues Eigenschaft auf die Anzahl der Elemente im rangebegin Array fest, die mit der Anzahl der Elemente im rangeend Array identisch sein müssen.

EncoderParameter(Encoder, Int64[])

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einem Array mit 64-Bit-Ganzzahlen. Legt die ValueType Eigenschaft auf ValueTypeLong (32-Bit) fest und legt die NumberOfValues Eigenschaft auf die Anzahl der Elemente im Array fest.

EncoderParameter(Encoder, String)

Initialisiert eine neue Instanz der EncoderParameter Klasse mit dem angegebenen Encoder Objekt und einer Zeichenfolge. Die Zeichenfolge wird in eine MIT NULL beendete ASCII-Zeichenfolge konvertiert, bevor sie im EncoderParameter Objekt gespeichert wird. Legt die ValueType Eigenschaft auf ValueTypeAscii, und legt die NumberOfValues Eigenschaft auf die Länge der ASCII-Zeichenfolge einschließlich des NULL-Terminators fest.

Eigenschaften

Name Beschreibung
Encoder

Dient zum Abrufen oder Festlegen des Objekts, das Encoder diesem EncoderParameter Objekt zugeordnet ist. Das Encoder Objekt kapselt die GUID (Globally Unique Identifier), die die Kategorie (z Quality. B. , ColorDepthoder Compression) des in diesem EncoderParameter Objekt gespeicherten Parameters angibt.

NumberOfValues

Ruft die Anzahl der Elemente im Array von Werten ab, die in diesem EncoderParameter Objekt gespeichert sind.

Type

Ruft den Datentyp der in diesem EncoderParameter Objekt gespeicherten Werte ab.

ValueType

Ruft den Datentyp der in diesem EncoderParameter Objekt gespeicherten Werte ab.

Methoden

Name Beschreibung
Dispose()

Gibt alle von diesem EncoderParameter Objekt verwendeten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
Finalize()

Ermöglicht es einem EncoderParameter Objekt, Ressourcen freizugeben und andere Bereinigungsvorgänge auszuführen, bevor das EncoderParameter Objekt von der Garbage Collection zurückgefordert wird.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen