EncoderParameter Třída

Definice

Slouží k předání hodnoty nebo pole hodnot kodéru obrázku.

public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
    interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
Dědičnost
EncoderParameter
Implementuje

Příklady

Následující příklad kódu ukazuje, jak vytvořit EncoderParameter pomocí konstruktoru EncoderParameter . Pokud chcete tento příklad spustit, vložte kód do formuláře Windows a zavolejte metodu VaryQualityLevel z konstruktoru formuláře. Tento příklad vyžaduje soubor obrázku s názvem TestPhoto.jpgc:\.

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

Poznámky

Objekt můžete použít EncoderParameter také k získání seznamu možných hodnot podporovaných konkrétním parametrem konkrétního kodéru obrázků.

Note

V .NET 6 a novějších verzích je balíček System.Drawing.Common, který obsahuje tento typ, podporován pouze v operačních systémech Windows. Použití tohoto typu v multiplatformních aplikacích způsobuje upozornění v době kompilace a výjimky za běhu. Další informace naleznete v tématu System.Drawing.Common podporován pouze ve Windows.

Konstruktory

Name Description
EncoderParameter(Encoder, Byte, Boolean)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a jednou 8bitovou hodnotou. ValueType Nastaví vlastnost na ValueTypeUndefined hodnotu nebo ValueTypeBytea nastaví NumberOfValues vlastnost na hodnotu 1.

EncoderParameter(Encoder, Byte)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a jedním 8bitové celé číslo bez znaménka. ValueType Nastaví vlastnost na ValueTypeBytehodnotu 1 a nastaví NumberOfValues vlastnost na hodnotu 1.

EncoderParameter(Encoder, Byte[], Boolean)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a polem bajtů. ValueType Nastaví vlastnost na ValueTypeUndefined nebo ValueTypeBytea nastaví NumberOfValues vlastnost na počet prvků v poli.

EncoderParameter(Encoder, Byte[])

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a polem bez znaménka 8bitových celých čísel. ValueType Nastaví vlastnost na ValueTypeBytehodnotu a nastaví NumberOfValues vlastnost na počet prvků v poli.

EncoderParameter(Encoder, Int16)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a jedním, 16bitové celé číslo. ValueType Nastaví vlastnost na ValueTypeShorthodnotu 1 a nastaví NumberOfValues vlastnost na hodnotu 1.

EncoderParameter(Encoder, Int16[])

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a polem 16bitových celých čísel. ValueType Nastaví vlastnost na ValueTypeShorthodnotu a nastaví NumberOfValues vlastnost na počet prvků v poli.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem, počtem hodnot, datovým typem hodnot a ukazatelem na hodnoty uložené v objektu EncoderParameter .

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

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a čtyřmi 32bitovými celými čísly. Čtyři celá čísla představují rozsah zlomků. První dvě celá čísla představují nejmenší zlomek v oblasti a zbývající dvě celá čísla představují největší zlomek v oblasti. ValueType Nastaví vlastnost na ValueTypeRationalRangehodnotu 1 a nastaví NumberOfValues vlastnost na hodnotu 1.

EncoderParameter(Encoder, Int32, Int32, Int32)
Zastaralé.
Zastaralé.
Zastaralé.

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a třemi celými čísly, které určují počet hodnot, datový typ hodnot a ukazatel na hodnoty uložené v objektu EncoderParameter .

EncoderParameter(Encoder, Int32, Int32)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a dvojicí 32bitových celých čísel. Dvojice celých čísel představuje zlomek, první celé číslo je čitatel a druhé celé číslo, které je jmenovatelem. ValueType Nastaví vlastnost na ValueTypeRationalhodnotu 1 a nastaví NumberOfValues vlastnost na hodnotu 1.

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

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a čtyřmi poli 32bitových celých čísel. Čtyři pole představují maticové logické oblasti. Logický rozsah je množina všech zlomků od minimální desetinné hodnoty až po maximální desetinnou hodnotu. ValueType Nastaví vlastnost na ValueTypeRationalRangehodnotu a nastaví NumberOfValues vlastnost na počet prvků v numerator1 poli, které musí být stejné jako počet prvků v ostatních třech polích.

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

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a dvěma poli 32bitových celých čísel. Dvě pole představují matici zlomků. ValueType Nastaví vlastnost na ValueTypeRationalhodnotu a nastaví NumberOfValues vlastnost na počet prvků v numerator poli, které musí být stejné jako počet prvků v denominator poli.

EncoderParameter(Encoder, Int64, Int64)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a dvojicí 64bitových celých čísel. Dvojice celých čísel představuje rozsah celých čísel, první celé číslo je nejmenší číslo v oblasti a druhé celé číslo největší v oblasti. ValueType Nastaví vlastnost na ValueTypeLongRangehodnotu 1 a nastaví NumberOfValues vlastnost na hodnotu 1.

EncoderParameter(Encoder, Int64)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a jedním 64bitovým celé číslo. ValueType Nastaví vlastnost na ValueTypeLong (32 bitů) a nastaví NumberOfValues vlastnost na 1.

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

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a dvěma poli 64bitových celých čísel. Dvě pole představují celočíselné oblasti. ValueType Nastaví vlastnost na ValueTypeLongRangehodnotu a nastaví NumberOfValues vlastnost na počet prvků v rangebegin poli, které musí být stejné jako počet prvků v rangeend poli.

EncoderParameter(Encoder, Int64[])

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a polem 64bitových celých čísel. ValueType Nastaví vlastnost na ValueTypeLong (32bitovou) a nastaví NumberOfValues vlastnost na počet prvků v poli.

EncoderParameter(Encoder, String)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a řetězcem znaků. Řetězec se před uložením v objektu EncoderParameter převede na řetězec ASCII s ukončenou hodnotou null. ValueType Nastaví vlastnost na ValueTypeAsciihodnotu a nastaví NumberOfValues vlastnost na délku řetězce ASCII včetně ukončovací funkce NULL.

Vlastnosti

Name Description
Encoder

Získá nebo nastaví Encoder objekt přidružený k tomuto EncoderParameter objektu. Objekt Encoder zapouzdřuje globálně jedinečný identifikátor (GUID), který určuje kategorii (například Quality, ColorDepthnebo Compression) parametru uloženého v tomto EncoderParameter objektu.

NumberOfValues

Získá počet prvků v poli hodnot uložených v tomto EncoderParameter objektu.

Type

Získá datový typ hodnot uložených v tomto EncoderParameter objektu.

ValueType

Získá datový typ hodnot uložených v tomto EncoderParameter objektu.

Metody

Name Description
Dispose()

Uvolní všechny prostředky používané tímto EncoderParameter objektem.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
Finalize()

EncoderParameter Umožňuje objektu pokusit se uvolnit prostředky a provádět další operace čištění před EncoderParameter uvolněním objektu uvolňováním paměti.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také