EncoderParameter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 element przy użyciu konstruktora EncoderParameter . Aby uruchomić ten przykład, wklej kod do formularza systemu Windows i wywołaj VaryQualityLevel
metodę z konstruktora formularza. W tym przykładzie wymagany jest plik obrazu o nazwie TestPhoto.jpg
znajdujący 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 programie .NET 6 i nowszych wersjach pakiet System.Drawing.Common, który obejmuje 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, a właściwość na NumberOfValues 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 ValueTypeBytei 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, a właściwość na NumberOfValues 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 do wartości przechowywanych w EncoderParameter obiekcie. |
EncoderParameter(Encoder, Int32, Int32) |
Inicjuje EncoderParameter nowe wystąpienie 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, a właściwość na NumberOfValues 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, które określają 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. Pierwsze dwie liczby całkowite reprezentują najmniejszy ułamek w zakresie, a pozostałe dwie liczby całkowite reprezentują największy ułamek w zakresie. ValueType Ustawia właściwość na ValueTypeRationalRange, a właściwość na NumberOfValues 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 |
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 |
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 EncoderParameter nowe wystąpienie 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, a właściwość na NumberOfValues 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 nowe wystąpienie EncoderParameter 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 |
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 zakończony o wartości null, zanim zostanie on zapisany w EncoderParameter 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. Obiekt Encoder 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() |
EncoderParameter Umożliwia obiektowi podjęcie próby zwolnienia zasobów i wykonanie innych operacji oczyszczania przed odzyskaniem EncoderParameter obiektu przez odzyskiwanie pamięci. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (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) |