Sdílet prostřednictvím


EncoderParameter Třída

Definice

Používá se k předání hodnoty nebo pole hodnot do 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 . Chcete-li spustit tento příklad, 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.jpg umístěný v umístění 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

Poznámky

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

Poznámka

V rozhraní .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í na kompilaci a výjimky za běhu. Další informace najdete v tématu System.Drawing.Common podporované pouze ve Windows.

Konstruktory

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 ValueTypeBytea nastaví NumberOfValues vlastnost na hodnotu 1.

EncoderParameter(Encoder, Byte, Boolean)

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

EncoderParameter(Encoder, Byte[])

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

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, Int16)

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a jedním, 16bitové celé číslo. ValueType Nastaví vlastnost na ValueTypeShorta 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 ValueTypeShorta 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)

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 je jmenovatel. ValueType Nastaví vlastnost na ValueTypeRationala 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, 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 ValueTypeRationalRangea nastaví NumberOfValues vlastnost na hodnotu 1.

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í pole zlomků. ValueType Nastaví vlastnost na ValueTypeRationala nastaví NumberOfValues vlastnost na počet prvků v numerator poli, který musí být stejný jako počet prvků v denominator poli.

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é oblasti. Rozumná oblast je množina všech zlomků od minimální desetinné hodnoty až po maximální desetinnou hodnotu. ValueType Nastaví vlastnost na ValueTypeRationalRangea 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, Int64)

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

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 oblast celých čísel, první celé číslo je nejmenší číslo v oblasti a druhé celé číslo je největší číslo v oblasti. ValueType Nastaví vlastnost na ValueTypeLongRangea nastaví NumberOfValues vlastnost na hodnotu 1.

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 vlastnost NumberOfValues nastaví na počet prvků v poli.

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

Inicializuje novou instanci EncoderParameter třídy se zadaným Encoder objektem a dvěma poli 64bitových celých čísel. Tato dvě pole představují celočíselné oblasti pole. ValueType Nastaví vlastnost na ValueTypeLongRangea nastaví NumberOfValues vlastnost na počet prvků v rangebegin poli, který musí být stejný jako počet prvků v rangeend 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 do objektu EncoderParameter převede na řetězec ASCII ukončený hodnotou null. ValueType Nastaví vlastnost na ValueTypeAsciia nastaví NumberOfValues vlastnost na délku řetězce ASCII včetně ukončovače NULL.

Vlastnosti

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

Dispose()

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

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

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

GetHashCode()

Slouží jako výchozí hashovací funkce.

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

Type Získá z aktuální instance.

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

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

(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é