EncoderParameter Klasa

Definicja

Służy do przekazywania wartości lub tablicy wartości do kodera obrazu.

public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
    interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
Dziedziczenie
EncoderParameter
Implementuje

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć EncoderParameter za pomocą konstruktora EncoderParameter . Aby uruchomić ten przykład, wklej kod do formularza systemu Windows i wywołaj VaryQualityLevel metodę z konstruktora formularza. Ten przykład wymaga pliku obrazu o nazwie TestPhoto.jpg znajdującego się w lokalizacji 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

Uwagi

Można również użyć EncoderParameter obiektu, aby otrzymać listę możliwych wartości obsługiwanych przez określony parametr określonego kodera obrazu.

Uwaga

W programach .NET 6 i nowszych pakiet System.Drawing.Common, który zawiera ten typ, jest obsługiwany tylko w systemach operacyjnych Windows. Użycie tego typu w aplikacjach międzyplatformowych powoduje ostrzeżenia w czasie kompilacji i wyjątki czasu wykonywania. Aby uzyskać więcej informacji, zobacz System.Drawing.Common only supported on Windows (Obsługiwane tylko w systemie Windows).

Konstruktory

EncoderParameter(Encoder, Byte)

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i jedną niepodpisaną 8-bitową liczbą całkowitą. ValueType Ustawia właściwość na ValueTypeByte, i ustawia NumberOfValues właściwość na 1.

EncoderParameter(Encoder, Byte, Boolean)

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i jedną wartością 8-bitową. ValueType Ustawia właściwość na ValueTypeUndefined lub ValueTypeByte, i ustawia NumberOfValues właściwość na 1.

EncoderParameter(Encoder, Byte[])

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i tablicą niepodpisanych liczb całkowitych 8-bitowych. ValueType Ustawia właściwość na ValueTypeByte, i ustawia NumberOfValues właściwość na liczbę elementów w tablicy.

EncoderParameter(Encoder, Byte[], Boolean)

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i tablicą bajtów. ValueType Ustawia właściwość na ValueTypeUndefined lub ValueTypeBytei ustawia NumberOfValues właściwość na liczbę elementów w tablicy.

EncoderParameter(Encoder, Int16)

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i jedną, 16-bitową liczbą całkowitą. ValueType Ustawia właściwość na ValueTypeShort, i ustawia NumberOfValues właściwość na 1.

EncoderParameter(Encoder, Int16[])

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i tablicą 16-bitowych liczb całkowitych. ValueType Ustawia właściwość na ValueTypeShort, i ustawia NumberOfValues właściwość na liczbę elementów w tablicy.

EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem, liczbą wartości, typem danych wartości i wskaźnikiem wartości przechowywanych w EncoderParameter obiekcie.

EncoderParameter(Encoder, Int32, Int32)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i parą 32-bitowych liczb całkowitych. Para liczb całkowitych reprezentuje ułamek, pierwszą liczbę całkowitą będącą licznikiem, a drugą liczbą całkowitą jest mianownik. ValueType Ustawia właściwość na ValueTypeRational, i ustawia NumberOfValues właściwość na 1.

EncoderParameter(Encoder, Int32, Int32, Int32)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i trzema liczbami całkowitymi określającymi liczbę wartości, typ danych wartości i wskaźnik do wartości przechowywanych w EncoderParameter obiekcie.

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

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i czterema 32-bitowymi liczbami całkowitymi. Cztery liczby całkowite reprezentują zakres ułamków. Dwie pierwsze liczby całkowite reprezentują najmniejszą część w zakresie, a pozostałe dwie liczby całkowite reprezentują największy ułamek w zakresie. ValueType Ustawia właściwość na ValueTypeRationalRange, i ustawia NumberOfValues właściwość na 1.

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

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i dwiema tablicami 32-bitowych liczb całkowitych. Dwie tablice reprezentują tablicę ułamków. ValueType Ustawia właściwość na ValueTypeRational, i ustawia NumberOfValues właściwość na liczbę elementów w numerator tablicy, która musi być taka sama jak liczba elementów w tablicydenominator.

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

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i czterema tablicami 32-bitowych liczb całkowitych. Cztery tablice reprezentują zakresy racjonalne tablicy. Zakres racjonalny to zestaw wszystkich ułamków z minimalnej wartości ułamkowej przez maksymalną wartość ułamkową. ValueType Ustawia właściwość na ValueTypeRationalRange, i ustawia NumberOfValues właściwość na liczbę elementów w numerator1 tablicy, która musi być taka sama jak liczba elementów w pozostałych trzech tablicach.

EncoderParameter(Encoder, Int64)

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i 64-bitową liczbą całkowitą. ValueType Ustawia właściwość na ValueTypeLong (32 bity) i ustawia NumberOfValues właściwość na 1.

EncoderParameter(Encoder, Int64, Int64)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i parą 64-bitowych liczb całkowitych. Para liczb całkowitych reprezentuje zakres liczb całkowitych, a pierwsza liczba całkowita jest najmniejszą liczbą w zakresie, a druga liczba całkowita jest największą liczbą w zakresie. ValueType Ustawia właściwość na ValueTypeLongRange, i ustawia NumberOfValues właściwość na 1.

EncoderParameter(Encoder, Int64[])

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i tablicą 64-bitowych liczb całkowitych. ValueType Ustawia właściwość na ValueTypeLong (32-bitową) i ustawia NumberOfValues właściwość na liczbę elementów w tablicy.

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

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i dwiema tablicami 64-bitowych liczb całkowitych. Dwie tablice reprezentują zakresy liczb całkowitych tablicy. ValueType Ustawia właściwość na ValueTypeLongRange, i ustawia NumberOfValues właściwość na liczbę elementów w rangebegin tablicy, która musi być taka sama jak liczba elementów w tablicyrangeend.

EncoderParameter(Encoder, String)

Inicjuje EncoderParameter nowe wystąpienie klasy z określonym Encoder obiektem i ciągiem znaków. Ciąg jest konwertowany na ciąg ASCII o wartości null przed zapisaniem EncoderParameter go w obiekcie. ValueType Ustawia właściwość na ValueTypeAscii, i ustawia NumberOfValues właściwość na długość ciągu ASCII, w tym terminator NULL.

Właściwości

Encoder

Pobiera lub ustawia Encoder obiekt skojarzony z tym EncoderParameter obiektem. Encoder Obiekt hermetyzuje globalnie unikatowy identyfikator (GUID), który określa kategorię (na przykład Quality, ColorDepthlub Compression) parametru przechowywanego w tym EncoderParameter obiekcie.

NumberOfValues

Pobiera liczbę elementów w tablicy wartości przechowywanych w tym EncoderParameter obiekcie.

Type

Pobiera typ danych wartości przechowywanych w tym EncoderParameter obiekcie.

ValueType

Pobiera typ danych wartości przechowywanych w tym EncoderParameter obiekcie.

Metody

Dispose()

Zwalnia wszystkie zasoby używane przez ten EncoderParameter obiekt.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Umożliwia obiektowi próbę EncoderParameter zwolnienia zasobów i wykonania innych operacji oczyszczania przed EncoderParameter odzyskaniem obiektu przez odzyskiwanie pamięci.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też