EncoderParameter Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Utilisé pour passer une valeur ou un tableau de valeurs à un encodeur d'image.
public ref class EncoderParameter sealed : IDisposable
public sealed class EncoderParameter : IDisposable
type EncoderParameter = class
interface IDisposable
Public NotInheritable Class EncoderParameter
Implements IDisposable
- Héritage
-
EncoderParameter
- Implémente
Exemples
L’exemple de code suivant montre comment créer un EncoderParameter à l’aide du EncoderParameter constructeur. Pour exécuter cet exemple, collez le code dans un Windows Form et appelez la VaryQualityLevel
méthode à partir du constructeur du formulaire. Cet exemple nécessite un fichier image nommé TestPhoto.jpg
dans 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
Remarques
Vous pouvez également utiliser un EncoderParameter objet pour recevoir une liste de valeurs possibles prises en charge par un paramètre particulier d’un encodeur d’image particulier.
Notes
Dans .NET 6 et versions ultérieures, le package System.Drawing.Common, qui inclut ce type, est uniquement pris en charge sur les systèmes d’exploitation Windows. L’utilisation de ce type dans les applications multiplateformes entraîne des avertissements au moment de la compilation et des exceptions au moment de l’exécution. Pour plus d’informations, consultez System.Drawing.Common uniquement pris en charge sur Windows.
Constructeurs
EncoderParameter(Encoder, Byte) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et un entier non signé 8 bits. Attribue à la propriété ValueType la valeur ValueTypeByte et à la propriété NumberOfValues la valeur 1. |
EncoderParameter(Encoder, Byte, Boolean) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et une valeur 8 bits. Affecte ValueType ou ValueTypeUndefined à la propriété ValueTypeByte et 1 à la propriété NumberOfValues. |
EncoderParameter(Encoder, Byte[]) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et un tableau d'entiers non signés 8 bits. Affecte ValueType à la propriété ValueTypeByte et le nombre d'éléments contenus dans le tableau à la propriété NumberOfValues. |
EncoderParameter(Encoder, Byte[], Boolean) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et un tableau d'octets. Affecte ValueType ou ValueTypeUndefined à la propriété ValueTypeByte et le nombre d'éléments contenus dans le tableau à la propriété NumberOfValues. |
EncoderParameter(Encoder, Int16) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et un entier 16 bits. Attribue à la propriété ValueType la valeur ValueTypeShort et à la propriété NumberOfValues la valeur 1. |
EncoderParameter(Encoder, Int16[]) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et un tableau d'entiers 16 bits. Affecte ValueType à la propriété ValueTypeShort et le nombre d'éléments contenus dans le tableau à la propriété NumberOfValues. |
EncoderParameter(Encoder, Int32, EncoderParameterValueType, IntPtr) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié, le nombre de valeurs, le type de données des valeurs et un pointeur vers les valeurs stockées dans l'objet EncoderParameter. |
EncoderParameter(Encoder, Int32, Int32) |
Initialise une nouvelle instance de la classe EncoderParameter avec l’objet Encoder spécifié et une paire d’entiers 32 bits. La paire d’entiers représente une fraction, le premier étant le numérateur et le second le dénominateur. Attribue à la propriété ValueType la valeur ValueTypeRational et à la propriété NumberOfValues la valeur 1. |
EncoderParameter(Encoder, Int32, Int32, Int32) |
Obsolète.
Obsolète.
Obsolète.
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et trois entiers qui spécifient le nombre de valeurs, le type de données des valeurs et un pointeur vers les valeurs stockées dans l'objet EncoderParameter. |
EncoderParameter(Encoder, Int32, Int32, Int32, Int32) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et quatre entiers 32 bits. Les quatre entiers représentent une plage de fractions. Les deux premiers entiers représentent la plus petite fraction de la plage et les deux autres entiers représentent la plus grande fraction de la plage. Attribue à la propriété ValueType la valeur ValueTypeRationalRange et à la propriété NumberOfValues la valeur 1. |
EncoderParameter(Encoder, Int32[], Int32[]) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et deux tableaux d'entiers 32 bits. Les deux tableaux représentent un tableau de fractions. Affecte ValueType à la propriété ValueTypeRational et le nombre d'éléments contenus dans le tableau |
EncoderParameter(Encoder, Int32[], Int32[], Int32[], Int32[]) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et quatre tableaux d'entiers 32 bits. Les quatre tableaux représentent un tableau de plages rationnelles. Une plage rationnelle est l'ensemble des fractions comprises entre une valeur fractionnaire minimale et une valeur fractionnaire maximale. Affecte ValueType à la propriété ValueTypeRationalRange et le nombre d'éléments contenus dans le tableau |
EncoderParameter(Encoder, Int64) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et un entier 64 bits. Affecte ValueType (32 bits) à la propriété ValueTypeLong et 1 à la propriété NumberOfValues. |
EncoderParameter(Encoder, Int64, Int64) |
Initialise une nouvelle instance de la classe EncoderParameter avec l’objet Encoder spécifié et une paire d’entiers 64 bits. La paire d'entiers représente une plage d'entiers, le premier entier étant le plus petit nombre de la plage et le second étant le plus grand nombre de la plage. Attribue à la propriété ValueType la valeur ValueTypeLongRange et à la propriété NumberOfValues la valeur 1. |
EncoderParameter(Encoder, Int64[]) |
Initialise une nouvelle instance de la classe EncoderParameter avec l’objet Encoder spécifié et un tableau d’entiers 64 bits. Affecte ValueType (32 bits) à la propriété ValueTypeLong et le nombre d'éléments contenus dans le tableau à la propriété NumberOfValues. |
EncoderParameter(Encoder, Int64[], Int64[]) |
Initialise une nouvelle instance de la classe EncoderParameter avec l’objet Encoder spécifié et deux tableaux d’entiers 64 bits. Les deux tableaux représentent un tableau de plages d'entiers. Affecte ValueType à la propriété ValueTypeLongRange et le nombre d'éléments contenus dans le tableau |
EncoderParameter(Encoder, String) |
Initialise une nouvelle instance de la classe EncoderParameter avec l'objet Encoder spécifié et une chaîne de caractères. La chaîne est convertie en chaîne ASCII se terminant par le caractère NULL avant d'être stockée dans l'objet EncoderParameter. Affecte ValueType à la propriété ValueTypeAscii et la longueur de la chaîne ASCII y compris la marque de fin NULL à la propriété NumberOfValues. |
Propriétés
Encoder |
Obtient ou définit l'objet Encoder associé à cet objet EncoderParameter. L'objet Encoder encapsule le GUID (Identificateur Global Unique) qui spécifie la catégorie (par exemple Quality, ColorDepth ou Compression) du paramètre stocké dans cet objet EncoderParameter. |
NumberOfValues |
Obtient le nombre d'éléments contenus dans le tableau des valeurs stockées dans cet objet EncoderParameter. |
Type |
Obtient le type de données des valeurs stockées dans cet objet EncoderParameter. |
ValueType |
Obtient le type de données des valeurs stockées dans cet objet EncoderParameter. |
Méthodes
Dispose() |
Libère toutes les ressources utilisées par cet objet EncoderParameter. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
Finalize() |
Permet à un objet EncoderParameterde tenter de libérer des ressources et d'effectuer d'autres opérations de nettoyage avant que l'objet EncoderParameter ne soit récupéré par l'opération de garbage collection. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |