Commit Graph

21 Commits

Author SHA1 Message Date
John Cupitt b8a158b69b seems to work
added some more consts as well
2019-01-03 13:34:13 +00:00
John Cupitt cff4af34ca add vips_image_set_blob_copy()
and use it where we can
2018-11-23 16:27:39 +00:00
John Cupitt 0fea113bbf fix build on older glibs
we were using g_str_to_ascii(), but it was only added in glib 2.40

see https://github.com/libvips/libvips/issues/1117
2018-10-01 20:15:34 +01:00
John Cupitt 8891d6dc29 exif strings were not trimmed correctly
drop_tail() missed the final "()"
2018-08-28 11:08:49 +01:00
John Cupitt d06c2fee22 use exif_tag_get_name_in_ifd() everywhere
exif tag names change with the ids they appear in, so you must always
use exif_tag_get_name_in_ifd(), not exif_tag_get_name()

see: https://github.com/jcupitt/libvips/pull/1030
2018-07-09 09:35:39 +01:00
Water Liu bba03a10d7 Should use exif_tag_name_in_ifd() instead of exif_tag_get_name()
vipsheader -a path/to/foo.jpg
...
exif-ifd2-ExifVersion: Exif Version 2.21 (Exif Version 2.21, Undefined, 4 components, 4 bytes)
...
exif-ifd3-InteroperabilityIndex: N (N, ASCII, 2 components, 2 bytes)
exif-ifd3-InteroperabilityVersion: 40/1 1/1 58/100 (40,  1, 0.58, Rational, 3 components, 24 bytes)

The above two tag name are incorrect, should be:

exif-ifd3-GPSLatitudeRef: N (N, ASCII, 2 components, 2 bytes)
exif-ifd3-GPSLatitude: 40/1 1/1 58/100 (40,  1, 0.58, Rational, 3 components, 24 bytes)

Signed-off-by: Water Liu <water@yunify.com>
2018-07-09 11:14:12 +08:00
John Cupitt f0a44ce936 add a few more string types 2018-07-06 12:09:48 +01:00
John Cupitt 63bb380569 fix ASCII exif tag write
sigh libexif has three different types of string write
2018-07-04 08:50:14 +01:00
John Cupitt 3a9adbcea9 seems to work
could probably add some more fields
2018-07-03 16:36:39 +01:00
John Cupitt c12cd6d2cb not quite there
trying to set EXIF_TAG_USER_COMMENT but not working
2018-07-03 14:55:47 +01:00
John Cupitt 1cc7dd6af7 start hacking 2018-07-03 10:01:14 +01:00
John Cupitt e9aaedc60a fix some compiler warnings
from the msvc patch
2018-06-01 19:44:43 +01:00
John Cupitt b085908558 remove vips7 stuff from API
You must now include vips7 support explicitly with

	#include <vips/vips7compat.h>

in your code just after including `vips.h`.

The old vips7 names, such as `Rect`, were starting to cause problems
with other packages like opencv.
2018-05-16 15:08:21 +01:00
John Cupitt f56fbf564f oops 2018-02-01 16:28:41 +00:00
John Cupitt 5a4b4e196d allow remove thumbnail from exif
if the user has removed (or set to NULL) the "jpeg-thumbnail-data" tag,
remove it from the image EXIF on save

see https://github.com/jcupitt/ruby-vips/issues/147
2018-02-01 16:15:02 +00:00
John Cupitt 9c8790b40a setting EXIF data blocks sets other tags too
calling vips_image_set() to set the EXIF data block VIPS_META_EXIF_NAME
will automaticaly set other tags, like orientation etc.
2017-11-27 15:15:21 +00:00
John Cupitt 6013962288 better exif write
only remove exif fields not on the image if we made the exif from the saved exif data on the image
2017-11-27 05:54:10 +00:00
John Cupitt cfa96f735a only read ifd0 orientation
we used to set orientation from the first ifd, now just read ifd0, since
that's where the main image orientation should always be

see https://github.com/jcupitt/libvips/issues/772
2017-10-14 21:54:31 +01:00
John Cupitt ab6bb83266 fix a memleak in exif parsing 2016-11-10 11:09:49 +00:00
John Cupitt 3d459a82c1 don't write webp metadata we can't read back
stops tests failing
2016-11-08 17:08:41 +00:00
John Cupitt 47222bc1f5 move exif handling out to exif.c
now used by webpload as well
2016-11-07 12:20:56 +00:00