ImageCodecInfo.GetImageEncoders メソッド
アセンブリ: System.Drawing (system.drawing.dll 内)

Dim returnValue As ImageCodecInfo() returnValue = ImageCodecInfo.GetImageEncoders
ImageCodecInfo オブジェクトの配列。配列内の各 ImageCodecInfo オブジェクトには、いずれかの組み込みイメージ エンコーダに関する情報が格納されています。

次の例は、Windows フォームでの使用を意図してデザインされており、Paint イベント ハンドラのパラメータである PaintEventArgse が必要です。このコードは GetImageEncoders メソッドを使用して、インストールされているすべてのイメージ エンコーダおよびコーデックに関するコーデック情報をすべて取り出し、次に、各コーデックに関する情報を画面に描画します。
Public Sub GetImageEncodersExample(ByVal e As PaintEventArgs) ' Get an array of available codecs. Dim myEncoders() As ImageCodecInfo myEncoders = ImageCodecInfo.GetImageEncoders() Dim numEncoders As Integer = myEncoders.GetLength(0) Dim strNumEncoders As String = numEncoders.ToString() Dim foreColor As Color = Color.Black Dim font As New Font("Arial", 8) Dim i As Integer = 0 ' Get the info. for all encoders in the array. If numEncoders > 0 Then Dim myEncoderInfo(numEncoders * 10) As String For i = 0 To numEncoders - 1 myEncoderInfo((i * 10)) = "Codec Name = " _ + myEncoders(i).CodecName myEncoderInfo((i * 10 + 1)) = "Class ID = " _ + myEncoders(i).Clsid.ToString() myEncoderInfo((i * 10 + 2)) = "DLL Name = " _ + myEncoders(i).DllName myEncoderInfo((i * 10 + 3)) = "Filename Ext. = " _ + myEncoders(i).FilenameExtension myEncoderInfo((i * 10 + 4)) = "Flags = " _ + myEncoders(i).Flags.ToString() myEncoderInfo((i * 10 + 5)) = "Format Descrip. = " _ + myEncoders(i).FormatDescription myEncoderInfo((i * 10 + 6)) = "Format ID = " _ + myEncoders(i).FormatID.ToString() myEncoderInfo((i * 10 + 7)) = "MimeType = " _ + myEncoders(i).MimeType myEncoderInfo((i * 10 + 8)) = "Version = " _ + myEncoders(i).Version.ToString() myEncoderInfo((i * 10 + 9)) = " " Next i Dim numMyEncoderInfo As Integer = myEncoderInfo.GetLength(0) ' Render to the screen all the information. Dim j As Integer = 20 For i = 0 To numMyEncoderInfo - 1 e.Graphics.DrawString(myEncoderInfo(i), font, _ New SolidBrush(foreColor), 20, j) j += 12 Next i Else e.Graphics.DrawString("No Encoders Found", font, _ New SolidBrush(foreColor), 20, 20) End If End Sub
private void GetImageEncodersExample(PaintEventArgs e) { // Get an array of available codecs. ImageCodecInfo[] myCodecs; myCodecs = ImageCodecInfo.GetImageEncoders(); int numCodecs = myCodecs.GetLength(0); //numCodecs = 1; // Set up display variables. Color foreColor = Color.Black; Font font = new Font("Arial", 8); int i = 0; // Check to determine whether any codecs were found. if(numCodecs > 0) { // Set up an array to hold codec information. There are 9 // information elements plus 1 space for each codec, so 10 times // the number of codecs found is allocated. string[] myCodecInfo = new string[numCodecs*10]; // 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); }
private: void GetImageEncodersExample(PaintEventArgs^ e) { // Get an array of available codecs. array<ImageCodecInfo^>^ codecInfo; codecInfo = ImageCodecInfo::GetImageEncoders(); int numCodecs = codecInfo->GetLength(0); //numCodecs = 1; // Set up display variables. Color^ foreColor = Color::Black; Drawing::Font^ font = gcnew Drawing::Font("Arial", 8); // Check to determine whether any codecs were found. if (numCodecs > 0) { // Set up an array to hold codec information. There are 9 // information elements plus 1 space for each codec, so 10 // times the number of codecs found is allocated. array<String^>^ codecInfoStrings = gcnew array<String^>(numCodecs * 10); // Write all the codec information to the array. for (int i = 0; i < numCodecs; i++) { codecInfoStrings[i * 10] = "Codec Name = " + codecInfo[i]->CodecName; codecInfoStrings[(i * 10) + 1] = "Class ID = " + codecInfo[i]->Clsid.ToString(); codecInfoStrings[(i * 10) + 2] = "DLL Name = " + codecInfo[i]->DllName; codecInfoStrings[(i * 10) + 3] = "Filename Ext. = " + codecInfo[i]->FilenameExtension; codecInfoStrings[(i * 10) + 4] = "Flags = " + codecInfo[i]->Flags.ToString(); codecInfoStrings[(i * 10) + 5] = "Format Descrip. = " + codecInfo[i]->FormatDescription; codecInfoStrings[(i * 10) + 6] = "Format ID = " + codecInfo[i]->FormatID.ToString(); codecInfoStrings[(i * 10) + 7] = "MimeType = " + codecInfo[i]->MimeType; codecInfoStrings[(i * 10) + 8] = "Version = " + codecInfo[i]->Version.ToString(); codecInfoStrings[(i * 10) + 9] = " "; } int numCodecInfo = codecInfoStrings->GetLength(0); // Render all of the information to the screen. int j = 20; for (int i = 0; i < numCodecInfo; i++) { e->Graphics->DrawString(codecInfoStrings[i], font, gcnew SolidBrush(*foreColor), 20, (float)j); j += 12; } } else e->Graphics->DrawString("No Codecs Found", font, gcnew SolidBrush(*foreColor), 20, 20); }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ImageCodecInfo.GetImageEncoders メソッドのページへのリンク