EncoderParameters Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализация нового экземпляра класса EncoderParameters, который содержит указанное количество объектов EncoderParameter.
Перегрузки
EncoderParameters() |
Инициализация нового экземпляра класса EncoderParameters, который содержит один объект EncoderParameter. |
EncoderParameters(Int32) |
Инициализация нового экземпляра класса EncoderParameters, который содержит указанное количество объектов EncoderParameter. |
EncoderParameters()
- Исходный код:
- EncoderParameters.cs
- Исходный код:
- EncoderParameters.cs
- Исходный код:
- EncoderParameters.cs
Инициализация нового экземпляра класса EncoderParameters, который содержит один объект EncoderParameter.
public:
EncoderParameters();
public EncoderParameters ();
Public Sub New ()
Примеры
В следующем примере кода показано, как создать и использовать EncoderParameters объект . Чтобы запустить этот пример, вставьте код в форму Windows Forms и вызовите VaryQualityLevel
метод из конструктора формы. Для этого примера требуется файл изображения с именем TestPhoto.jpg
, расположенный по адресу 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
Комментарии
Некоторые методы Save и SaveAdd получают объект в EncoderParameters качестве аргумента. Метод GetEncoderParameterList возвращает объект EncoderParameters.
Применяется к
EncoderParameters(Int32)
- Исходный код:
- EncoderParameters.cs
- Исходный код:
- EncoderParameters.cs
- Исходный код:
- EncoderParameters.cs
Инициализация нового экземпляра класса EncoderParameters, который содержит указанное количество объектов EncoderParameter.
public:
EncoderParameters(int count);
public EncoderParameters (int count);
new System.Drawing.Imaging.EncoderParameters : int -> System.Drawing.Imaging.EncoderParameters
Public Sub New (count As Integer)
Параметры
- count
- Int32
Целое число, указывающее количество объектов EncoderParameter, которое может содержать объект EncoderParameters.