準備
(なし)
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。
サンプルコード (C#)
// 名前空間の追加
using System.Drawing.Imaging;
// コード
private void button1_Click(object sender, EventArgs e)
{
ImageCodecInfo[] imgEnc = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo item in imgEnc)
{
listBox1.Items.Add(item.FormatDescription + " (" + item.FilenameExtension + ")");
}
listBox1.Items.Add("");
ImageCodecInfo[] imgDec = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo item in imgDec)
{
listBox1.Items.Add(item.FormatDescription + " (" + item.FilenameExtension + ")");
}
}
解説
エンコード/デコードに使用できるフォーマットをそれぞれ取得しています。出力結果を見ると、内容に違いがありますので、エンコードできるフォーマットとデコードできるフォーマットが必ずしも一致しているとは限らないようです。
結果

動作確認環境
Visual Studio 2015 Professional (C# 6.0)