Added non-AsciiString values to IFD0 testcase

v0.27.3
Andreas Huggel 21 years ago
parent 77d3d5621a
commit c7a0391aa2

@ -29,11 +29,28 @@ try {
} }
std::string file(argv[1]); std::string file(argv[1]);
std::cout <<"----- One IFD0 tag\n"; std::cout <<"----- Two IFD0 tags\n";
Exiv2::ExifData ed1; Exiv2::ExifData ed1;
Exiv2::Exifdatum md1(Exiv2::ExifKey("Exif.Image.Model")); Exiv2::Exifdatum md1(Exiv2::ExifKey("Exif.Image.Model"));
md1.setValue("Test 1"); md1.setValue("Test 1");
ed1.add(md1); ed1.add(md1);
Exiv2::Value::AutoPtr v1 = Exiv2::Value::create(Exiv2::unsignedShort);
v1->read("160 161 162 163");
ed1.add(Exiv2::ExifKey("Exif.Image.SamplesPerPixel"), v1.get());
Exiv2::Value::AutoPtr v2 = Exiv2::Value::create(Exiv2::signedLong);
v2->read("-2 -1 0 1");
ed1.add(Exiv2::ExifKey("Exif.Image.XResolution"), v2.get());
Exiv2::Value::AutoPtr v3 = Exiv2::Value::create(Exiv2::signedRational);
v3->read("-2/3 -1/3 0/3 1/3");
ed1.add(Exiv2::ExifKey("Exif.Image.YResolution"), v3.get());
Exiv2::Value::AutoPtr v4 = Exiv2::Value::create(Exiv2::undefined);
v4->read("255 254 253 252");
ed1.add(Exiv2::ExifKey("Exif.Image.WhitePoint"), v4.get());
write(file, ed1); write(file, ed1);
print(file); print(file);
@ -187,13 +204,19 @@ void print(const std::string& file)
Exiv2::ExifData::const_iterator end = ed.end(); Exiv2::ExifData::const_iterator end = ed.end();
for (Exiv2::ExifData::const_iterator i = ed.begin(); i != end; ++i) { for (Exiv2::ExifData::const_iterator i = ed.begin(); i != end; ++i) {
std::cout << std::setw(53) << std::setfill(' ') << std::left std::cout << std::setw(45) << std::setfill(' ') << std::left
<< i->key() << " " << i->key() << " "
<< "0x" << std::setw(4) << std::setfill('0') << std::right
<< std::hex << i->tag() << " "
<< std::setw(12) << std::setfill(' ') << std::left << std::setw(12) << std::setfill(' ') << std::left
<< i->ifdName() << " " << i->ifdName() << " "
<< "0x" << std::setw(4) << std::setfill('0') << std::right << std::setw(9) << std::setfill(' ') << std::left
<< std::hex << i->tag() << " " << i->typeName() << " "
<< std::dec << std::setw(3)
<< std::setfill(' ') << std::right
<< i->count() << " "
<< std::dec << i->value() << std::dec << i->value()
<< "\n"; << "\n";
} }
} }

@ -1,18 +1,58 @@
----- One IFD0 tag ----- Two IFD0 tags
Exif.Image.Model IFD0 0x0110 Test 1 Exif.Image.Model 0x0110 IFD0 Ascii 7 Test 1
Exif.Image.SamplesPerPixel 0x0115 IFD0 Short 4 160 161 162 163
Exif.Image.XResolution 0x011a IFD0 SLong 4 -2 -1 0 1
Exif.Image.YResolution 0x011b IFD0 SRational 4 -2/3 -1/3 0/3 1/3
Exif.Image.WhitePoint 0x013e IFD0 Undefined 4 255 254 253 252
----- One Exif tag ----- One Exif tag
Exif.Image.ExifTag IFD0 0x8769 26 Exif.Image.ExifTag 0x8769 IFD0 Long 1 26
Exif.Photo.DateTimeOriginal Exif 0x9003 Test 2 Exif.Photo.DateTimeOriginal 0x9003 Exif Ascii 7 Test 2
----- One Canon MakerNote tag
Exif.Image.Make 0x010f IFD0 Ascii 6 Canon
Exif.Image.Model 0x0110 IFD0 Ascii 20 Canon PowerShot S40
Exif.Image.ExifTag 0x8769 IFD0 Long 1 76
Exif.Canon.0xabcd 0xabcd Makernote Ascii 22 A Canon makernote tag
----- One Fujifilm MakerNote tag
Exif.Image.Make 0x010f IFD0 Ascii 9 FUJIFILM
Exif.Image.Model 0x0110 IFD0 Ascii 13 FinePixS2Pro
Exif.Image.ExifTag 0x8769 IFD0 Long 1 72
Exif.Fujifilm.Quality 0x1000 Makernote Ascii 23 A Fujifilm QUALITY tag
----- One Sigma/Foveon MakerNote tag
Exif.Image.Make 0x010f IFD0 Ascii 6 SIGMA
Exif.Image.Model 0x0110 IFD0 Ascii 11 SIGMA SD10
Exif.Image.ExifTag 0x8769 IFD0 Long 1 67
Exif.Sigma.Software 0x0018 Makernote Ascii 17 Software? Exiv2!
----- One Nikon1 MakerNote tag
Exif.Image.Make 0x010f IFD0 Ascii 6 NIKON
Exif.Image.Model 0x0110 IFD0 Ascii 5 E990
Exif.Image.ExifTag 0x8769 IFD0 Long 1 61
Exif.Nikon1.ImageAdjustment 0x0080 Makernote Ascii 25 ImageAdjustment by Exiv2
----- One Nikon2 MakerNote tag
Exif.Image.Make 0x010f IFD0 Ascii 6 NIKON
Exif.Image.Model 0x0110 IFD0 Ascii 5 E950
Exif.Image.ExifTag 0x8769 IFD0 Long 1 61
Exif.Nikon2.0xffff 0xffff Makernote Ascii 22 An obscure Nikon2 tag
----- One Nikon3 MakerNote tag
Exif.Image.Make 0x010f IFD0 Ascii 18 NIKON CORPORATION
Exif.Image.Model 0x0110 IFD0 Ascii 10 NIKON D70
Exif.Image.ExifTag 0x8769 IFD0 Long 1 78
Exif.Nikon3.Quality 0x0004 Makernote Ascii 28 A boring Nikon3 Quality tag
----- One IOP tag ----- One IOP tag
Exif.Image.ExifTag IFD0 0x8769 26 Exif.Image.ExifTag 0x8769 IFD0 Long 1 26
Exif.Photo.InteroperabilityTag Exif 0xa005 44 Exif.Photo.InteroperabilityTag 0xa005 Exif Long 1 44
Exif.Iop.InteroperabilityVersion Iop 0x0002 Test 3 Exif.Iop.InteroperabilityVersion 0x0002 Iop Ascii 7 Test 3
----- One GPS tag ----- One GPS tag
Exif.Image.GPSTag IFD0 0x8825 26 Exif.Image.GPSTag 0x8825 IFD0 Long 1 26
Exif.GPSInfo.GPSVersionID GPSInfo 0x0000 Test 4 Exif.GPSInfo.GPSVersionID 0x0000 GPSInfo Ascii 7 Test 4
----- One IFD1 tag ----- One IFD1 tag
Exif.Image.Model IFD0 0x0110 Test 5 (Fix me!) Exif.Image.Model 0x0110 IFD0 Ascii 17 Test 5 (Fix me!)

Loading…
Cancel
Save