logo
CSharp_Graphics

Получение списка установленных декодеров

Иногда требуется получить список установленных на компьютере декодеров, чтобы понять, может ли приложение читать изображение в виде файла того или иного формата. У класса ImageCodecInfo имеются статические методы GetImageDecoders, позволяющие получить список доступных декодеров изображений. Метод GetImageDecoders возвращает массив объектов ImageCodecInfo.

Пример

Следующий пример кода возвращает список установленных декодеров и значения их свойств.

--------------

// Write all the codec information to the array.

for (i = 0; i < numCodecs; i++)

{

myCodecInfo[i * 10] = "Codec Name = " + myCodecs[i].CodecName;

myCodecInfo[(i * 10) + 1] = "Class ID = " +

myCodecs[i].Clsid.ToString();

myCodecInfo[(i * 10) + 2] = "DLL Name = " + myCodecs[i].DllName;

myCodecInfo[(i * 10) + 3] = "Filename Ext. = " +

myCodecs[i].FilenameExtension;

myCodecInfo[(i * 10) + 4] = "Flags = " +

myCodecs[i].Flags.ToString();

myCodecInfo[(i * 10) + 5] = "Format Descrip. = " +

myCodecs[i].FormatDescription;

myCodecInfo[(i * 10) + 6] = "Format ID = " +

myCodecs[i].FormatID.ToString();

myCodecInfo[(i * 10) + 7] = "MimeType = " + myCodecs[i].MimeType;

myCodecInfo[(i * 10) + 8] = "Version = " +

myCodecs[i].Version.ToString();

myCodecInfo[(i * 10) + 9] = " ";

}

int numMyCodecInfo = myCodecInfo.GetLength(0);

// Render all of the information to the screen.

int j = 20;

for (i = 0; i < numMyCodecInfo; i++)

{

e.Graphics.DrawString(myCodecInfo[i],

font,

new SolidBrush(foreColor),

20,

j);

j += 12;

}

}

else

e.Graphics.DrawString("No Codecs Found",

font,

new SolidBrush(foreColor),

20,

20);

}

Compiling the Code

This example requires:

------------