- VisualC#
-
2016-12-07
スマートフォンやデジカメで撮影した写真にはどの方向(縦か横)で撮影されたか、という情報も格納されています。
画像方向(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,575 views




