コード例 #1
0
inline void SET_DNG_TAG_GPS_URATIONAL(const JP4& jp4, int TAG, dng_urational* DEST) {
  ExifEntry* e = FIND_GPS_TAG(jp4, TAG);
  if (e==NULL)
    return;
  ExifRational r = exif_get_rational(e->data, exif_data_get_byte_order(jp4.exifData()));
  dng_urational dngR(r.numerator, r.denominator);
  *DEST = dngR;
}
コード例 #2
0
inline void SET_DNG_TAG_GPS_URATIONAL_ARRAY_3(const JP4& jp4, int TAG, dng_urational(*DEST)[3]) {
  ExifEntry* e = FIND_GPS_TAG(jp4, TAG);
  if (e==NULL)
    return;

  if (e->components != 3) return;

  ExifRational r1 = exif_get_rational(e->data, exif_data_get_byte_order(jp4.exifData()));
  dng_urational dngR1(r1.numerator, r1.denominator);
  (*DEST)[0] = dngR1;

  ExifRational r2 = exif_get_rational(e->data+exif_format_get_size(e->format), exif_data_get_byte_order(jp4.exifData()));
  dng_urational dngR2(r2.numerator, r2.denominator);
  (*DEST)[1] = dngR2;

  ExifRational r3 = exif_get_rational(e->data+2*exif_format_get_size(e->format), exif_data_get_byte_order(jp4.exifData()));
  dng_urational dngR3(r3.numerator, r3.denominator);
  (*DEST)[2] = dngR3;
}    
コード例 #3
0
inline void SET_DNG_TAG_GPS_UINT32(const JP4& jp4, int TAG, uint32* DEST) {
  ExifEntry* e = FIND_GPS_TAG(jp4, TAG);
  if (e==NULL)
    return;
  *DEST = exif_get_long(e->data, exif_data_get_byte_order(jp4.exifData()));
}