117 lines
3.1 KiB
Groff
117 lines
3.1 KiB
Groff
.TH IM_ICC_*() 3 "April 2002"
|
|
.SH 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
|
|
.SH SYNOPSIS
|
|
#include <vips/vips.h>
|
|
|
|
#define VIPS_INTENT_PERCEPTUAL (0)
|
|
.br
|
|
#define VIPS_INTENT_RELATIVE_COLORIMETRIC (1)
|
|
.br
|
|
#define VIPS_INTENT_SATURATION (2)
|
|
.br
|
|
#define VIPS_INTENT_ABSOLUTE_COLORIMETRIC (3)
|
|
|
|
int
|
|
.br
|
|
im_icc_present( void )
|
|
.br
|
|
int
|
|
.br
|
|
im_icc_transform( IMAGE *in, IMAGE *out,
|
|
.br
|
|
const char *input_profile_filename,
|
|
.br
|
|
const char *output_profile_filename,
|
|
.br
|
|
int intent )
|
|
|
|
int
|
|
.br
|
|
im_icc_import( IMAGE *in, IMAGE *out,
|
|
.br
|
|
const char *input_profile_filename, int intent )
|
|
|
|
int
|
|
.br
|
|
im_icc_import_embedded( IMAGE *in, IMAGE *out,
|
|
.br
|
|
int intent )
|
|
|
|
int
|
|
.br
|
|
im_icc_export_depth( IMAGE *in, IMAGE *out, int depth,
|
|
.br
|
|
const char *output_profile_filename, int intent )
|
|
|
|
int
|
|
.br
|
|
im_icc_export( IMAGE *in, IMAGE *out,
|
|
.br
|
|
const char *output_profile_filename, int intent )
|
|
|
|
int
|
|
.br
|
|
im_icc_ac2rc( IMAGE *in, IMAGE *out,
|
|
.br
|
|
const char *profile_filename )
|
|
|
|
.SH DESCRIPTION
|
|
.B 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.
|
|
|
|
.B 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
|
|
.B "icc-profile-data".
|
|
Functions like
|
|
.B im_vips2jpeg(3)
|
|
will then attach the profile to the files they create.
|
|
|
|
.B 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.
|
|
|
|
.B 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
|
|
.B im_header_get_type(3).
|
|
|
|
.B 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
|
|
.B "icc-profile-data".
|
|
Functions like
|
|
.B im_vips2jpeg(3)
|
|
will then attach the profile to the files they create.
|
|
|
|
.B im_icc_export(3)
|
|
behaves just as
|
|
.B im_icc_export_depth(),
|
|
but with depth always 8 bit.
|
|
|
|
.B im_icc_ac2rc(3)
|
|
converts an image from D50 absolute to media relative colorimetry using the
|
|
media white point found in the ICC profile.
|
|
|
|
.SH RETURN VALUE
|
|
The functions return 0 on success and -1 on error.
|
|
.SH SEE ALSO
|
|
im_LabQ2Lab(3), im_Lab2XYZ(3).
|
|
.SH COPYRIGHT
|
|
The National Gallery
|
|
|