EncoderParameter Klasa

Definicja

Służy do przekazywania wartości lub tablicy wartości do kodera obrazu.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
Dziedziczenie
EncoderParameter
Implementuje

Przykłady

Poniższy przykład kodu demonstruje sposób tworzenia EncoderParameter przy użyciu EncoderParameter konstruktora.The following code example demonstrates how to create a EncoderParameter using the EncoderParameter constructor. Aby uruchomić ten przykład, wklej kod do formularza systemu Windows i Wywołaj VaryQualityLevel metodę z konstruktora formularza.To run this example, paste the code into a Windows Form and call the VaryQualityLevel method from the form's constructor. Ten przykład wymaga pliku obrazu o nazwie TestPhoto.jpg znajdującego się w 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

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ć obiektu, EncoderParameter Aby otrzymać listę możliwych wartości obsługiwanych przez określony parametr określonego kodera obrazu.You can also use an EncoderParameter object to receive a list of possible values supported by a particular parameter of a particular image encoder.

Konstruktory

EncoderParameter(Encoder, Byte)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i z jedną 8-bitową liczbą całkowitą bez znaku.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one unsigned 8-bit integer. Ustawia ValueType Właściwość na ValueTypeByte i ustawia NumberOfValues Właściwość na 1.Sets the ValueType property to ValueTypeByte, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Byte, Boolean)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i jedną wartością 8-bitową.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 8-bit value. Ustawia ValueType Właściwość na ValueTypeUndefined lub ValueTypeByte , i ustawia NumberOfValues Właściwość na 1.Sets the ValueType property to ValueTypeUndefined or ValueTypeByte, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Byte[])

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i tablicą 8-bitowych liczb całkowitych bez znaku.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of unsigned 8-bit integers. Ustawia ValueType Właściwość na ValueTypeByte , i ustawia NumberOfValues Właściwość na liczbę elementów w tablicy.Sets the ValueType property to ValueTypeByte, and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Byte[], Boolean)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i tablicą bajtów.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of bytes. Ustawia ValueType Właściwość na ValueTypeUndefined lub ValueTypeByte , i ustawia NumberOfValues Właściwość na liczbę elementów w tablicy.Sets the ValueType property to ValueTypeUndefined or ValueTypeByte, and sets the NumberOfValues property to the number of elements in the array.

EncoderParameter(Encoder, Int16)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i jedną, 16-bitową liczbą całkowitą.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one, 16-bit integer. Ustawia ValueType Właściwość na ValueTypeShort i ustawia NumberOfValues Właściwość na 1.Sets the ValueType property to ValueTypeShort, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int16[])

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i tablicą 16-bitowych liczb całkowitych.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 16-bit integers. Ustawia ValueType Właściwość na ValueTypeShort , i ustawia NumberOfValues Właściwość na liczbę elementów w tablicy.Sets the ValueType property to ValueTypeShort, and sets the NumberOfValues property to the number of elements in the array.

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 do wartości przechowywanych w EncoderParameter obiekcie.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)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i parą z 32-bitowymi liczbami całkowitymi.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 32-bit integers. Para liczb całkowitych reprezentuje ułamek, pierwszą liczbę całkowitą będącą licznikiem, a druga liczba całkowita będąca mianownikiem.The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. Ustawia ValueType Właściwość na ValueTypeRational i ustawia NumberOfValues Właściwość na 1.Sets the ValueType property to ValueTypeRational, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int32, Int32, Int32)
Nieaktualne.
Nieaktualne.

Inicjuje nowe wystąpienie EncoderParameter klasy przy użyciu określonego Encoder obiektu i trzech liczb całkowitych, które określają liczbę wartości, typ danych wartości oraz wskaźnik do wartości przechowywanych w EncoderParameter obiekcie.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)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i czterema 32-bitowymi liczbami całkowitymi.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four, 32-bit integers. Cztery liczby całkowite reprezentują zakres ułamków.The four integers represent a range of fractions. Pierwsze dwie liczby całkowite reprezentują najmniejszy ułamek zakresu, a pozostałe dwie liczby całkowite reprezentują największą część zakresu.The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. Ustawia ValueType Właściwość na ValueTypeRationalRange i ustawia NumberOfValues Właściwość na 1.Sets the ValueType property to ValueTypeRationalRange, and sets the NumberOfValues property to 1.

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

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i dwiema tablicami 32-bitowych liczb całkowitych.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 32-bit integers. Dwie tablice reprezentują tablicę ułamków.The two arrays represent an array of fractions. Ustawia ValueType 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 denominator tablicy.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[])

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i czterema tablicami 32-bitowych liczb całkowitych.Initializes a new instance of the EncoderParameter class with the specified Encoder object and four arrays of 32-bit integers. Cztery tablice reprezentują zakresy wymierne tablicy.The four arrays represent an array rational ranges. Zakresem racjonalnym jest zestaw wszystkich ułamków z minimalnej wartości ułamkowej za pośrednictwem maksymalnej wartości ułamkowej.A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. Ustawia ValueType 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 innych trzech tablicach.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)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i 1 64-bitową liczbą całkowitą.Initializes a new instance of the EncoderParameter class with the specified Encoder object and one 64-bit integer. Ustawia ValueType Właściwość na ValueTypeLong (32 bitów) i ustawia NumberOfValues Właściwość na 1.Sets the ValueType property to ValueTypeLong (32 bits), and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int64, Int64)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i parą z 64-bitowymi liczbami całkowitymi.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a pair of 64-bit integers. Para liczb całkowitych reprezentuje zakres liczb całkowitych, pierwszą liczbę całkowitą z najmniejszą liczbą z zakresu, a druga liczba całkowita jako największą liczbę z zakresu.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. Ustawia ValueType Właściwość na ValueTypeLongRange i ustawia NumberOfValues Właściwość na 1.Sets the ValueType property to ValueTypeLongRange, and sets the NumberOfValues property to 1.

EncoderParameter(Encoder, Int64[])

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i tablicą 64-bitowych liczb całkowitych.Initializes a new instance of the EncoderParameter class with the specified Encoder object and an array of 64-bit integers. Ustawia ValueType Właściwość na ValueTypeLong (32-bitową) i ustawia NumberOfValues Właściwość na liczbę elementów w tablicy.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[])

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i dwiema tablicami 64-bitowych liczb całkowitych.Initializes a new instance of the EncoderParameter class with the specified Encoder object and two arrays of 64-bit integers. Dwie tablice reprezentują zakresy całkowite tablicy.The two arrays represent an array integer ranges. Ustawia ValueType 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 rangeend tablicy.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)

Inicjuje nowe wystąpienie EncoderParameter klasy z określonym Encoder obiektem i ciągiem znaków.Initializes a new instance of the EncoderParameter class with the specified Encoder object and a character string. Ciąg jest konwertowany na ciąg ASCII zakończony znakiem null, zanim zostanie on zapisany w EncoderParameter obiekcie.The string is converted to a null-terminated ASCII string before it is stored in the EncoderParameter object. Ustawia ValueType Właściwość na ValueTypeAscii , i ustawia NumberOfValues Właściwość na długość ciągu ASCII, łącznie z TERMINATOREM o wartości null.Sets the ValueType property to ValueTypeAscii, and sets the NumberOfValues property to the length of the ASCII string including the NULL terminator.

Właściwości

Encoder

Pobiera lub ustawia Encoder obiekt skojarzony z tym EncoderParameter obiektem.Gets or sets the Encoder object associated with this EncoderParameter object. EncoderObiekt hermetyzuje unikatowy identyfikator globalny (GUID), który określa kategorię (na przykład Quality ColorDepth lub Compression ) parametru przechowywanego w tym EncoderParameter obiekcie.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

Pobiera liczbę elementów w tablicy wartości przechowywanych w tym EncoderParameter obiekcie.Gets the number of elements in the array of values stored in this EncoderParameter object.

Type

Pobiera typ danych wartości przechowywanych w tym EncoderParameter obiekcie.Gets the data type of the values stored in this EncoderParameter object.

ValueType

Pobiera typ danych wartości przechowywanych w tym EncoderParameter obiekcie.Gets the data type of the values stored in this EncoderParameter object.

Metody

Dispose()

Zwalnia wszystkie zasoby używane przez ten EncoderParameter obiekt.Releases all resources used by this EncoderParameter object.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
Finalize()

Umożliwia EncoderParameter obiektowi podjęcie próby zwolnienia zasobów i wykonywanie innych operacji czyszczenia, zanim EncoderParameter obiekt zostanie odrzucony przez wyrzucanie elementów bezużytecznych.Allows an EncoderParameter object to attempt to free resources and perform other cleanup operations before the EncoderParameter object is reclaimed by garbage collection.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy