QA@IT
«質問へ戻る

質問を投稿

画像ファイル(JPG)のコメント取得について

OS:Windows7
言語:C#

JPGファイルのプロパティ →「詳細」タブ →"コメント"
に任意で文字を入力して保存。
プログラムで、指定した文字の入っているJPGファイルを
取得すりるために、"コメント"に入力された文字を取得
したいのですが、うまくとれません。

いろいろな書き込みやサイトに記述されているのを参考に
タイトルは取得できましたが、コメントは取得できません。

参考にしたPGを載せます。

//画像を読み込む
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(@"D:\TEST.jpg");

int[] pils = bmp.PropertyIdList;
int index = Array.IndexOf(pils, 0x9286);
if (index == -1)
{
Console.WriteLine("ユーザーコメントが含まれていません。");
return;
}

if (bmp.PropertyItems == null || bmp.PropertyItems.Length == 0) { return; }

//PropertyItemオブジェクトを取得する
System.Drawing.Imaging.PropertyItem pi = bmp.PropertyItems[0];

//Exif情報を列挙する
foreach (System.Drawing.Imaging.PropertyItem item in bmp.PropertyItems)
{
//タグIDが"ユーザーコメント"の場合は、
if (item.Id == 37510)
{
//データの型を判断
if (item.Type == 2)
{
//ASCII文字の場合は、文字列に変換する
string val = System.Text.Encoding.ASCII.GetString(item.Value);
val = val.Trim(new char[] { '\0' });
}
else
{ //表示する
}
}
}

方法はないのでしょうか?

OS:Windows7
言語:C#

JPGファイルのプロパティ →「詳細」タブ →"コメント"
に任意で文字を入力して保存。
プログラムで、指定した文字の入っているJPGファイルを
取得すりるために、"コメント"に入力された文字を取得
したいのですが、うまくとれません。

いろいろな書き込みやサイトに記述されているのを参考に
タイトルは取得できましたが、コメントは取得できません。

参考にしたPGを載せます。

//画像を読み込む
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(@"D:\TEST.jpg");

int[] pils = bmp.PropertyIdList;
int index = Array.IndexOf(pils, 0x9286);
if (index == -1)
{
    Console.WriteLine("ユーザーコメントが含まれていません。");
    return;
}


if (bmp.PropertyItems == null || bmp.PropertyItems.Length == 0) { return; }

//PropertyItemオブジェクトを取得する
System.Drawing.Imaging.PropertyItem pi = bmp.PropertyItems[0];

//Exif情報を列挙する
foreach (System.Drawing.Imaging.PropertyItem item in bmp.PropertyItems)
{
    //タグIDが"ユーザーコメント"の場合は、
    if (item.Id == 37510)
    {
        //データの型を判断
        if (item.Type == 2)
        {
            //ASCII文字の場合は、文字列に変換する
            string val = System.Text.Encoding.ASCII.GetString(item.Value);
            val = val.Trim(new char[] { '\0' });
        }
        else
        {   //表示する
        }
    }
}




方法はないのでしょうか?