Man Linux: Main Page and Category List

NAME

       im_icc_present,             im_icc_transform,            im_icc_import,
       im_icc_import_embedded, im_icc_export, im_icc_export_depth -  transform
       images using ICC profiles

SYNOPSIS

       #include <vips/vips.h>

       #define VIPS_INTENT_PERCEPTUAL (0)
       #define VIPS_INTENT_RELATIVE_COLORIMETRIC (1)
       #define VIPS_INTENT_SATURATION (2)
       #define VIPS_INTENT_ABSOLUTE_COLORIMETRIC (3)

       int
       im_icc_present( void )
       int
       im_icc_transform( IMAGE *in, IMAGE *out,
         const char *input_profile_filename,
         const char *output_profile_filename,
         int intent )

       int
       im_icc_import( IMAGE *in, IMAGE *out,
         const char *input_profile_filename, int intent )

       int
       im_icc_import_embedded( IMAGE *in, IMAGE *out,
         int intent )

       int
       im_icc_export_depth( IMAGE *in, IMAGE *out, int depth,
         const char *output_profile_filename, int intent )

       int
       im_icc_export( IMAGE *in, IMAGE *out,
         const char *output_profile_filename, int intent )

       int
       im_icc_ac2rc( IMAGE *in, IMAGE *out,
         const char *profile_filename )

DESCRIPTION

       im_icc_present(3)   returns   non-zero  if  there  is  an  ICC  library
       available. Calls to the other VIPS ICC functions will all fail with  an
       error message if there is no library.

       im_icc_transform(3)  maps  between two images using an input and output
       profile and an intent. The input image must have a format matching  the
       input  profile  (eg. 4 bands for a CMYK profile). The output image will
       have a form matching the output profile (eg. 3 bands for an RGB  output
       profile).  The  input  image  must be 8 or 16 bit unsigned integer. The
       output image is always 8  bit  unsigned  int.  The  output  profile  is
       attached  to  the  output  image  under  the  name  icc-profile-data  .
       Functions like im_vips2jpeg(3) will then  attach  the  profile  to  the
       files they create.

       im_icc_import(3)  takes an image to D50 Lab float (profile interconnect
       space) from device space.   The  input  image  must  match  the  format
       expected  by  the  profile: for example, a printer profile will usually
       need 4 band CMYK data. The input image must be 8  or  16  bit  unsigned
       integer.

       im_icc_import_embedded(3)  takes  an  image  to  D50 Lab float (profile
       interconnect space) from device space, using the  profile  embedded  in
       the  image. If there is no embedded profile, an error is returned. Test
       for the presence of a profile with im_header_get_type(3).

       im_icc_export_depth(3) takes an image from D50 Lab float back to device
       space.  The  output  image  will  match  the format of the profile: for
       example, a screen profile will write 3 band RGB data. The output  image
       biut depth can be set to 8 or 16 with the depth parameter.  The profile
       is attached to the output  image  under  the  name  icc-profile-data  .
       Functions  like  im_vips2jpeg(3)  will  then  attach the profile to the
       files they create.

       im_icc_export(3) behaves just as im_icc_export_depth(), but with  depth
       always 8 bit.

       im_icc_ac2rc(3)  converts  an image from D50 absolute to media relative
       colorimetry using the media white point found in the ICC profile.

RETURN VALUE

       The functions return 0 on success and -1 on error.

SEE ALSO

       im_LabQ2Lab(3), im_Lab2XYZ(3).

COPYRIGHT

       The National Gallery

                                  April 2002                     IM_ICC_*()(3)