TNB Library
|
EXIF規格ファイル管理クラス [詳解]
#include <TnbExifFile.h>
クラス | |
class | CTagInfo |
タグ情報. [詳解] | |
struct | TRational |
符号無し有理数 [詳解] | |
struct | TSRational |
符号付き有理数 [詳解] | |
公開型 | |
typedef CMapT< PROPID, CTagInfo > | CMapTagInfos |
タグ情報のマップ [詳解] | |
enum | EType { ET_Byte = PropertyTagTypeByte , ET_Ascii = PropertyTagTypeASCII , ET_Short = PropertyTagTypeShort , ET_Long = PropertyTagTypeLong , ET_Rational = PropertyTagTypeRational , ET_Undefined = PropertyTagTypeUndefined , ET_SLong = PropertyTagTypeSLONG , ET_SRational = PropertyTagTypeSRational } |
データ型 [詳解] | |
公開メンバ関数 | |
bool | Attach (LPCWSTR lpszFileName) |
[読込] ファイル読込み(Attach). [詳解] | |
CExifFile (void) | |
コンストラクタ [詳解] | |
void | Empty (void) |
[設定] エンプティ化 [詳解] | |
CBitmapHandle | GetBitmap (void) const |
[取得] Bitmap取得. [詳解] | |
void | GetCopyrightTag (CStr &_s1, CStr &_s2) const |
[取得] Copyrightタグ取得. [詳解] | |
const CTagInfo * | GetTagInfo (PROPID id) const |
[取得] EXIFタグ情報取得 [詳解] | |
const CMapTagInfos & | GetTagInfoMap (void) const |
[参照] EXIFタグ情報一覧参照. [詳解] | |
CStr | GetUserCommentTag (void) const |
[取得] UserCommentタグ取得. [詳解] | |
bool | Load (HBITMAP hBmp, HPALETTE hPal=NULL) |
[読込] HBITMAP読込み. [詳解] | |
bool | Load (LPCWSTR lpszFileName) |
[読込] ファイル読込み. [詳解] | |
const Gdiplus::Bitmap * | ReferBitmap (void) const |
[取得] Bitmap取得. [詳解] | |
void | RemoveTagInfo (PROPID id) |
[設定] EXIFタグ情報削除. [詳解] | |
bool | Save (LPCWSTR lpsz, CGdiPlus::EBitmapFormat fmt=CGdiPlus::JPG, LONG jpegQuality=80) |
[作成] 画像ファイル作成. [詳解] | |
bool | SaveJpeg (LPCWSTR lpsz, LONG jpegQuality=80) |
[作成] Jpegファイル作成. [詳解] | |
void | SetCopyrightTag (LPCSTR lpsz1, LPCSTR lpsz2=NULL) |
[取得] Copyrightタグ取得. [詳解] | |
void | SetGpsAltitudeTag (DWORD d1, DWORD d2=1) |
[設定] 高度設定 [詳解] | |
void | SetGpsLatitudeTag (bool isNorth, DWORD dd, DWORD mm, double ss) |
[設定] 緯度設定 [詳解] | |
void | SetGpsLongitudeTag (bool isEast, DWORD dd, DWORD mm, double ss) |
[設定] 経度設定 [詳解] | |
void | SetGpsVersionTag (void) |
[設定] GPSバージョン情報設定 [詳解] | |
void | SetTagInfo (PROPID id, const CTagInfo &ti) |
[設定] EXIFタグ情報設定. [詳解] | |
void | SetTagInfo (PROPID id, const SYSTEMTIME &st) |
[設定] EXIFタグ情報設定(時間ASCII文字列). [詳解] | |
void | SetTagInfo (PROPID id, LPCSTR lpsz, size_t len=INVALID_SIZE) |
[設定] EXIFタグ情報設定(ASCII文字列). [詳解] | |
void | SetUserCommentTag (LPCSTR lpsz) |
[設定] UserCommentタグ設定(ASCII/JIS). [詳解] | |
void | SetUserCommentTag (LPCWSTR lpsz) |
[設定] UserCommentタグ設定(UNICODE). [詳解] | |
void | SetVersionTag (DWORD ver=0x0210) |
[設定] バージョンタグ設定. [詳解] | |
~CExifFile (void) | |
デストラクタ [詳解] | |
EXIF規格ファイル管理クラス
一組の画像情報とEXIFタグ情報を管理し、ファイル入出力を行うことができます。
TnbExifFile.h の 53 行目に定義があります。
typedef CMapT<PROPID, CTagInfo> CMapTagInfos |
タグ情報のマップ
TnbExifFile.h の 489 行目に定義があります。
enum EType |
データ型
TnbExifFile.h の 70 行目に定義があります。
CExifFile | ( | void | ) |
コンストラクタ
TnbExifFile.h の 496 行目に定義があります。
~CExifFile | ( | void | ) |
デストラクタ
TnbExifFile.h の 501 行目に定義があります。
bool Attach | ( | LPCWSTR | lpszFileName | ) |
[読込] ファイル読込み(Attach).
指定のファイルを読み込み、 EXIF タグ情報も読み込み、本インスタンスに記憶します。 指定のファイルはアタッチ中は、ロックされます。
lpszFileName | 画像ファイル名。 |
true | 読込み成功. |
false | 失敗. |
TnbExifFile.h の 528 行目に定義があります。
void Empty | ( | void | ) |
CBitmapHandle GetBitmap | ( | void | ) | const |
[取得] Copyrightタグ取得.
[out] | _s1 | 撮影著作権者 |
[out] | _s2 | 編集著作権者 |
TnbExifFile.h の 750 行目に定義があります。
const CTagInfo * GetTagInfo | ( | PROPID | id | ) | const |
const CMapTagInfos & GetTagInfoMap | ( | void | ) | const |
CStr GetUserCommentTag | ( | void | ) | const |
[取得] UserCommentタグ取得.
TnbExifFile.h の 714 行目に定義があります。
bool Load | ( | HBITMAP | hBmp, |
HPALETTE | hPal = NULL |
||
) |
[読込] HBITMAP読込み.
指定のHBITMAPを本インスタンスに記憶します。
hBmp | 画像。 |
hPal | パレット。省略可能。 |
true | 読込み成功. |
false | 失敗. |
TnbExifFile.h の 593 行目に定義があります。
bool Load | ( | LPCWSTR | lpszFileName | ) |
[読込] ファイル読込み.
指定のファイルを読み込み、 EXIF タグ情報も読み込み、本インスタンスに記憶します。
lpszFileName | 画像ファイル名。 |
true | 読込み成功. |
false | 失敗. |
TnbExifFile.h の 564 行目に定義があります。
const Gdiplus::Bitmap * ReferBitmap | ( | void | ) | const |
[取得] Bitmap取得.
NULL | 保持していない |
TnbExifFile.h の 657 行目に定義があります。
void RemoveTagInfo | ( | PROPID | id | ) |
bool Save | ( | LPCWSTR | lpsz, |
CGdiPlus::EBitmapFormat | fmt = CGdiPlus::JPG , |
||
LONG | jpegQuality = 80 |
||
) |
[作成] 画像ファイル作成.
本インスタンスで管理している画像と EXIFタグ情報を BMP, JPEG などのファイルに書き出します。
lpsz | ファイル名。 |
fmt | フォーマット。省略するとBMPです。 |
jpegQuality | JPEGのクオリティ(0〜100)。省略すると80。 |
true | 成功。 |
false | 失敗。 |
TnbExifFile.h の 631 行目に定義があります。
bool SaveJpeg | ( | LPCWSTR | lpsz, |
LONG | jpegQuality = 80 |
||
) |
[作成] Jpegファイル作成.
本インスタンスで管理している画像と EXIFタグ情報を jpegファイルに書き出します。
lpsz | ファイル名。 |
jpegQuality | JPEGのクオリティ(0〜100)。省略すると80。 |
true | 成功。 |
false | 失敗。 |
TnbExifFile.h の 615 行目に定義があります。
void SetCopyrightTag | ( | LPCSTR | lpsz1, |
LPCSTR | lpsz2 = NULL |
||
) |
[取得] Copyrightタグ取得.
lpsz1 | 撮影著作権者。 |
lpsz2 | 編集著作権者。 |
TnbExifFile.h の 880 行目に定義があります。
void SetGpsAltitudeTag | ( | DWORD | d1, |
DWORD | d2 = 1 |
||
) |
[設定] 高度設定
d1 | 値1。 |
d2 | 値2。省略すると1。 |
TnbExifFile.h の 955 行目に定義があります。
void SetGpsLatitudeTag | ( | bool | isNorth, |
DWORD | dd, | ||
DWORD | mm, | ||
double | ss | ||
) |
[設定] 緯度設定
isNorth | true なら北緯、 false なら南緯 |
dd | D. |
mm | M. |
ss | S. |
TnbExifFile.h の 921 行目に定義があります。
void SetGpsLongitudeTag | ( | bool | isEast, |
DWORD | dd, | ||
DWORD | mm, | ||
double | ss | ||
) |
[設定] 経度設定
isEast | true なら西経、 false なら東経 |
dd | D. |
mm | M. |
ss | S. |
TnbExifFile.h の 939 行目に定義があります。
void SetGpsVersionTag | ( | void | ) |
void SetTagInfo | ( | PROPID | id, |
const CTagInfo & | ti | ||
) |
void SetTagInfo | ( | PROPID | id, |
const SYSTEMTIME & | st | ||
) |
[設定] EXIFタグ情報設定(時間ASCII文字列).
id | ID。撮影時間の場合、 PropertyTagExifDTOrig を指定します。 |
st | 時間 |
TnbExifFile.h の 805 行目に定義があります。
void SetTagInfo | ( | PROPID | id, |
LPCSTR | lpsz, | ||
size_t | len = INVALID_SIZE |
||
) |
[設定] EXIFタグ情報設定(ASCII文字列).
任意のIDに文字列の情報を設定できます。
id | ID |
lpsz | 文字列 |
len | NULLを含む文字列長。省略可能。指定する場合、lpsz がそのサイズアクセス可能であるようにすること。 |
TnbExifFile.h の 794 行目に定義があります。
void SetUserCommentTag | ( | LPCSTR | lpsz | ) |
[設定] UserCommentタグ設定(ASCII/JIS).
ユーザコメント情報に指定の文字列を設定できます。
lpsz | コメント |
TnbExifFile.h の 836 行目に定義があります。
void SetUserCommentTag | ( | LPCWSTR | lpsz | ) |
[設定] UserCommentタグ設定(UNICODE).
ユーザコメント情報に指定の文字列を設定できます。
lpsz | コメント |
TnbExifFile.h の 862 行目に定義があります。
void SetVersionTag | ( | DWORD | ver = 0x0210 | ) |
[設定] バージョンタグ設定.
バージョン情報に指定のバージョンを設定できます。
ver | バージョン。省略すると 0x0210 が割り当てられます。 |
TnbExifFile.h の 820 行目に定義があります。