mirror of
https://github.com/talgo-cloud/bimg.git
synced 2026-03-15 10:25:55 -07:00
add more exif data to metadata
This commit is contained in:
parent
9b82aecec1
commit
b38ffd41d1
6 changed files with 118 additions and 6 deletions
43
vips.h
43
vips.h
|
|
@ -18,7 +18,11 @@
|
|||
#define VIPS_ANGLE_D270 VIPS_ANGLE_270
|
||||
#endif
|
||||
|
||||
#define EXIF_IFD0_MAKE "exif-ifd0-Make"
|
||||
#define EXIF_IFD0_MODEL "exif-ifd0-Model"
|
||||
#define EXIF_IFD0_ORIENTATION "exif-ifd0-Orientation"
|
||||
#define EXIF_IFD0_SOFTWARE "exif-ifd0-Software"
|
||||
#define EXIF_IFD0_DATETIME "exif-ifd0-DateTime"
|
||||
|
||||
#define INT_TO_GBOOLEAN(bool) (bool > 0 ? TRUE : FALSE)
|
||||
|
||||
|
|
@ -218,19 +222,48 @@ vips_rotate_bridge(VipsImage *in, VipsImage **out, int angle) {
|
|||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
vips_exif_tag(VipsImage *image, const char *tag) {
|
||||
const char *exif;
|
||||
if (
|
||||
vips_image_get_typeof(image, tag) != 0 &&
|
||||
!vips_image_get_string(image, tag, &exif)
|
||||
) {
|
||||
return &exif[0];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
const char *
|
||||
vips_exif_make(VipsImage *image) {
|
||||
return vips_exif_tag(image, EXIF_IFD0_MAKE);
|
||||
}
|
||||
|
||||
const char *
|
||||
vips_exif_model(VipsImage *image) {
|
||||
return vips_exif_tag(image, EXIF_IFD0_MODEL);
|
||||
}
|
||||
|
||||
int
|
||||
vips_exif_orientation(VipsImage *image) {
|
||||
int orientation = 0;
|
||||
const char *exif;
|
||||
if (
|
||||
vips_image_get_typeof(image, EXIF_IFD0_ORIENTATION) != 0 &&
|
||||
!vips_image_get_string(image, EXIF_IFD0_ORIENTATION, &exif)
|
||||
) {
|
||||
const char *exif = vips_exif_tag(image, EXIF_IFD0_ORIENTATION);
|
||||
if (strcmp(exif, "")) {
|
||||
orientation = atoi(&exif[0]);
|
||||
}
|
||||
return orientation;
|
||||
}
|
||||
|
||||
const char *
|
||||
vips_exif_software(VipsImage *image) {
|
||||
return vips_exif_tag(image, EXIF_IFD0_SOFTWARE);
|
||||
}
|
||||
|
||||
const char *
|
||||
vips_exif_datetime(VipsImage *image) {
|
||||
return vips_exif_tag(image, EXIF_IFD0_DATETIME);
|
||||
}
|
||||
|
||||
int
|
||||
interpolator_window_size(char const *name) {
|
||||
VipsInterpolate *interpolator = vips_interpolate_new(name);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue