EncoderParameter Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |
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 |
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 |
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) |