You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
exiv2/src/exiftest.cpp

61 lines
1.8 KiB
C++

#include "tags.hpp"
#include "exif.hpp"
22 years ago
#include <iostream>
#include <iomanip>
22 years ago
using namespace Exif;
22 years ago
int main(int argc, char* const argv[])
{
if (argc != 2) {
std::cout << "Usage: exiftest path\n";
return 1;
}
ExifData exifData;
int rc = exifData.read(argv[1]);
if (rc == 0) {
ExifData::const_iterator beg = exifData.begin();
ExifData::const_iterator end = exifData.end();
ExifData::const_iterator i = beg;
for (; i != end; ++i) {
22 years ago
std::cout << "0x"
<< std::hex << std::setw(4) << std::setfill('0') << std::right
<< i->tag_ << " "
<< std::setw(27) << std::setfill(' ') << std::left
<< i->tagName() << " "
<< std::setw(17) << std::setfill(' ') << std::left
<< i->typeName() << " "
<< std::dec << std::setw(3)
<< std::setfill(' ') << std::right
22 years ago
<< i->count_ << " "
<< std::dec << i->value() << "\n";
}
}
// std::string tmp = "12 2ddd4. xd35";
std::string tmp = " 1 2 3";
Value* val = Value::create(unsignedShort);
std::cout << "Reading test string \"" << tmp << "\"\n";
val->read(tmp);
std::cout << "And the answer is: " << *val << ", size is " << val->size() << "\n";
Rational r = std::make_pair(1,72);
URational ur = std::make_pair(2,3);
std::cout << "Rational r = " << r << "\n";
std::cout << "URational ur = " << ur << "\n";
ValueType<Rational> vr;
ValueType<URational> vur;
22 years ago
std::string str("1/ 2 4 / 5 2 5/3");
vr.read(str);
std::cout << "ValueType<Rational> vr = " << vr
<< ", size is " << vr.size() << "\n";
22 years ago
rc = exifData.writeThumbnail("thumb.jpg");
22 years ago
return rc;
22 years ago
}