カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Exif情報を編集する

この記事は最終更新日から1年以上経過しています。

スマートフォンやデジカメで撮影した写真にはどの方向(縦か横)で撮影されたか、という情報も格納されています。
画像方向(Orientation)というデータです。

画像を扱うプログラムを組んでいて、画像方向を編集する必要があったのでメモしておきます。

using System.Drawing;

string imgFile = "読み込むファイル";
string saveFile = "保存先ファイル";

//画像を読み込む
Bitmap bmp = new Bitmap(imgFile);

for (int i = 0; i < bmp.PropertyItems.Length; i++)
{
    Imaging.PropertyItem pi = bmp.PropertyItems[i];

    //Exif情報から画像方向を取得
    if (pi.Id == 0x0112)
    {
        //値を変更。強制的に横向きとする
        pi.Value = System.Text.Encoding.ASCII.GetBytes("1\0");
        pi.Len = pi.Value.Length;

        //設定する
        bmp.SetPropertyItem(pi);

        //目的の値が見つかればループを抜ける
        break;
    }
}

//保存する
bmp.Save(saveFile, Imaging.ImageFormat.Jpeg);

//後処理
bmp.Dispose();

Exif情報のタグID等は以下URLを参照してください。
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html

この記事がお役に立ちましたらシェアお願いします
6,331 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です