From b85231babaf593a8a97a2840ac0fb4a6a7e5e218 Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Thu, 7 Jan 2016 11:16:12 +0000 Subject: [PATCH] small doc improvements --- ChangeLog | 1 + doc/using-cpp.xml | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3b1609b6..974c58cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 1/1/16 started 8.2.1 - add a compat stub, thanks Benjamin - python bandjoin is now just an instance function +- small doc improvements 7/10/15 started 8.2.0 - added im_bufmagick2vips(), a vips7 wrapper for magick load from buffer diff --git a/doc/using-cpp.xml b/doc/using-cpp.xml index a83c277b..2c1f2e77 100644 --- a/doc/using-cpp.xml +++ b/doc/using-cpp.xml @@ -310,6 +310,49 @@ VImage VImage::sin( VOption *options = 0 ); + + Image metadata + + + VIPS images can have a lot of metadata attached to them, giving things + like ICC profiles, EXIF data, and so on. You can use the command-line + program vipsheader with the -a flag to list + all the fields. + + + + You can read metadata items with the member functions + get_int(), get_double(), + get_string() and get_blob(). Use + get_typeof() to call vips_image_get_typeof() and read the + type of an item. This will return 0 for undefined fields. + + +const char *VImage::get_string( const char *field ) throw( VError ); + + + + + You can use the set() family of overloaded members to set + metadata, for example: + + +void VImage::set( const char *field, const char *value ); + + + + + You can use these functions to manipulate exif metadata, for example: + + +VImage im = VImage::new_from_file( "x.jpg" ) +int orientation = atoi( im.get_string( "exif-ifd0-Orientation" ) ); +im.set( "exif-ifd0-Orientation", "2" ); +im.write_to_file( "y.jpg" ); + + + + Extending the C++ interface