Show / Hide Table of Contents

Практическое руководство. Определение параметров, поддерживаемых кодировщиком

Можно настроить параметры изображения, такие как качество и уровня сжатия, но необходимо знать, какие параметры поддерживаются кодировщиком заданного изображения. Image Класс предоставляет GetEncoderParameterList метод, чтобы можно было определить, какие параметров, поддерживаемых для конкретного кодировщика. Укажите кодировщик с идентификатором GUID. GetEncoderParameterList Метод возвращает массив EncoderParameter объектов.

Пример

Следующий пример кода выводит поддерживаемые параметры для кодировщику JPEG. Используйте список категорий параметров и связанные идентификаторы GUID в Encoder Общие сведения о классе для определения категории для каждого параметра.

private void GetSupportedParameters(PaintEventArgs e)
{
    Bitmap bitmap1 = new Bitmap(1, 1);
    ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
    EncoderParameters paramList = bitmap1.GetEncoderParameterList(jpgEncoder.Clsid);
    EncoderParameter[] encParams = paramList.Param;
    StringBuilder paramInfo = new StringBuilder();

    for (int i = 0; i < encParams.Length; i++)
    {
        paramInfo.Append("Param " + i + " holds " + encParams[i].NumberOfValues +
            " items of type " +
            encParams[i].ValueType + "\r\n" + "Guid category: " + encParams[i].Encoder.Guid + "\r\n");

    }
    e.Graphics.DrawString(paramInfo.ToString(), this.Font, Brushes.Red, 10.0F, 10.0F);
}

private ImageCodecInfo GetEncoder(ImageFormat format)
{
    ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

    foreach (ImageCodecInfo codec in codecs)
    {
        if (codec.FormatID == format.Guid)
        {
            return codec;
        }
    }
    
    return null;
}

Компиляция кода

Для этого примера требуются:

  • приложение Windows Forms;

  • Объект PaintEventArgs, который является параметром PaintEventHandler.

См. также

  • Практическое руководство. Получение списка установленных кодировщиков
  • Типы точечных рисунков
  • Применение кодировщиков и декодеров изображений в управляемом GDI+
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX