プログラミングのメモ書きです。日記も兼ねてます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
よくデジカメなどで使われる「Exif」を読み込んでみます。(4日目)
だいぶいろんなことが読めるようになりました4日目です。
今日は、だいぶ無視してきた「EXIF_DIRECTORY構造体」の「TAG」についてやっていきます。
これ、ただの数値のように思えますが、ここから「このディレクトリが何を意味するのか」がわかります。
具体的なことはいつものサイトを見てください(ぉ
で、実際の変換ですが、「switch」&「case」で仕分けることにしました。
こんな感じです。
char *GetTAGType(EXIF_DIRECTORY *pED){
switch(pED->TAG){
//画像データの構成に関するタグ
case 0x0100:return "画像の幅";
case 0x0101:return "画像の高さ";
case 0x0102:return "画像のビットの深さ";
case 0x0103:return "画像の圧縮";
case 0x0106:return "画像構成";
case 0x0112:return "画像方向";
case 0x0115:return "コンポーネント数";
case 0x011C:return "画像データの並び";
case 0x0212:return "YCCの画素構成(Cの間引き率)";
case 0x0213:return "YCCの画素構成(YとCの位置)";
case 0x011A:return "画像の幅の解像度";
case 0x011B:return "画像の高さの解像度";
case 0x0128:return "画像の幅と高さの解像度の単位";
//画像の記録位置に関するタグ
case 0x0111:return "画像データのロケーション";
case 0x0116:return "ストリップ中のライン数";
case 0x0117:return "ストリップのデータ量";
case 0x0201:return "JPEGのSOIへのオフセット";
case 0x0202:return "JPEGデータのバイト数";
//画像データの特性に関するタグ
case 0x012D:return "再生階調カーブ特性";
case 0x013E:return "参照白色点の色度座標値";
case 0x013F:return "原色の色度座標値";
case 0x0211:return "色変換マトリクス係数";
case 0x0214:return "参照黒色点値と参照白色点値";
//その他のタグ
case 0x0132:return "ファイル変更日時";
case 0x010E:return "画像タイトル";
case 0x010F:return "画像入力機器のメーカー名";
case 0x0110:return "画像入力機器のモデル名";
case 0x0131:return "使用ソフトウェア名";
case 0x013B:return "作者名";
case 0x8298:return "撮影著作権者/編集著作権者";
//Exif用のタグ
case 0x8769:return "Exif IFDへのポインタ";
case 0x8825:return "GPS IFDへのポインタ";
case 0xA005:return "互換性IFDへのポインタ";
}
return "不明";
}
ちなみに、意味はほとんどわかりません。(^ω^;)(ぉぃ
ソースを乗っけておきますんでどうぞ。
ダウンロード(zip)
では。
今日は、だいぶ無視してきた「EXIF_DIRECTORY構造体」の「TAG」についてやっていきます。
これ、ただの数値のように思えますが、ここから「このディレクトリが何を意味するのか」がわかります。
具体的なことはいつものサイトを見てください(ぉ
で、実際の変換ですが、「switch」&「case」で仕分けることにしました。
こんな感じです。
char *GetTAGType(EXIF_DIRECTORY *pED){
switch(pED->TAG){
//画像データの構成に関するタグ
case 0x0100:return "画像の幅";
case 0x0101:return "画像の高さ";
case 0x0102:return "画像のビットの深さ";
case 0x0103:return "画像の圧縮";
case 0x0106:return "画像構成";
case 0x0112:return "画像方向";
case 0x0115:return "コンポーネント数";
case 0x011C:return "画像データの並び";
case 0x0212:return "YCCの画素構成(Cの間引き率)";
case 0x0213:return "YCCの画素構成(YとCの位置)";
case 0x011A:return "画像の幅の解像度";
case 0x011B:return "画像の高さの解像度";
case 0x0128:return "画像の幅と高さの解像度の単位";
//画像の記録位置に関するタグ
case 0x0111:return "画像データのロケーション";
case 0x0116:return "ストリップ中のライン数";
case 0x0117:return "ストリップのデータ量";
case 0x0201:return "JPEGのSOIへのオフセット";
case 0x0202:return "JPEGデータのバイト数";
//画像データの特性に関するタグ
case 0x012D:return "再生階調カーブ特性";
case 0x013E:return "参照白色点の色度座標値";
case 0x013F:return "原色の色度座標値";
case 0x0211:return "色変換マトリクス係数";
case 0x0214:return "参照黒色点値と参照白色点値";
//その他のタグ
case 0x0132:return "ファイル変更日時";
case 0x010E:return "画像タイトル";
case 0x010F:return "画像入力機器のメーカー名";
case 0x0110:return "画像入力機器のモデル名";
case 0x0131:return "使用ソフトウェア名";
case 0x013B:return "作者名";
case 0x8298:return "撮影著作権者/編集著作権者";
//Exif用のタグ
case 0x8769:return "Exif IFDへのポインタ";
case 0x8825:return "GPS IFDへのポインタ";
case 0xA005:return "互換性IFDへのポインタ";
}
return "不明";
}
ちなみに、意味はほとんどわかりません。(^ω^;)(ぉぃ
ソースを乗っけておきますんでどうぞ。
ダウンロード(zip)
では。
PR
この記事にコメントする