상세 컨텐츠

본문 제목

Exiv2 사진 메타데이터 편집 라이브러리 사용 예제

개발과 트러블슈팅

by 양고 2015. 1. 16. 11:07

본문

 

 

메타데이터를 읽고 쓰기 위해 Exiv2를 (천신만고 끝에) 빌드하였다.

다음은 사용 예제이다.

 

#include "stdafx.h"

 

#include <exiv2/exiv2.hpp>
#pragma comment(lib, "exiv2s.lib")
#pragma comment(lib, "xmpsdk.lib")
#pragma comment(lib, "zlib1.lib")
#pragma comment(lib, "libexpat.lib")

 

 

int _tmain(int argc, _TCHAR* argv[])
{
 Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open("196_9685.jpg"); //("untitled.png");
 image->readMetadata();
 Exiv2::ExifData &exifData = image->exifData();
    Exiv2::ExifData::const_iterator end = exifData.end();
    for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != end; ++i) {
        const char* tn = i->typeName();
        std::cout << std::setw(44) << std::setfill(' ') << std::left
                  << i->key() << " "
                  << "0x" << std::setw(4) << std::setfill('0') << std::right
                  << std::hex << i->tag() << " "
                  << std::setw(9) << std::setfill(' ') << std::left
                  << (tn ? tn : "Unknown") << " "
                  << std::dec << std::setw(3)
                  << std::setfill(' ') << std::right
                  << i->count() << "  "
                  << std::dec << i->value()
                  << "\n";
    }
 getchar();

 return 0;

 

실행하면 다음 그림과 같이 사진의 메타데이터를 죽 읽어준다.

 

 

관련글 더보기