1IM_ICC_*()(3) Library Functions Manual IM_ICC_*()(3)
2
3
4
6 im_icc_present, im_icc_transform, im_icc_import, im_icc_export,
7 im_icc_export_depth - transform images using ICC profiles
8
10 #include <vips/vips.h>
11 #include <vips/colour.h>
12
13 #define VIPS_INTENT_PERCEPTUAL (0)
14 #define VIPS_INTENT_RELATIVE_COLORIMETRIC (1)
15 #define VIPS_INTENT_SATURATION (2)
16 #define VIPS_INTENT_ABSOLUTE_COLORIMETRIC (3)
17
18 int
19 im_icc_present( void )
20 int
21 im_icc_transform( IMAGE *in, IMAGE *out,
22 const char *input_profile_filename,
23 const char *output_profile_filename,
24 int intent )
25
26 int
27 im_icc_import( IMAGE *in, IMAGE *out,
28 const char *input_profile_filename, int intent )
29
30 int
31 im_icc_export_depth( IMAGE *in, IMAGE *out, int depth,
32 const char *output_profile_filename, int intent )
33
34 int
35 im_icc_export( IMAGE *in, IMAGE *out,
36 const char *output_profile_filename, int intent )
37
38 int
39 im_icc_ac2rc( IMAGE *in, IMAGE *out,
40 const char *profile_filename )
41
42
44 im_icc_present() returns non-zero if there is an ICC library available.
45 Calls to the other VIPS ICC functions will all fail with an error mes‐
46 sage if there is no library.
47
48 im_icc_transform() maps between two images using an input and output
49 profile and an intent. The input image must have a format matching the
50 input profile (eg. 4 bands for a CMYK profile). The output image will
51 have a form matching the output profile (eg. 3 bands for an RGB output
52 profile). The input image must be 8 or 16 bit unsigned integer. The
53 output image is always 8 bit unsigned int.
54
55 im_icc_import() takes an image to D50 Lab float (profile interconnect
56 space) from device space. The input image must match the format
57 expected by the profile: for example, a printer profile will usually
58 need 4 band CMYK data. The input image must be 8 or 16 bit unsigned
59 integer.
60
61 im_icc_export_depth() takes an image from D50 Lab float back to device
62 space. The output image will match the format of the profile: for exam‐
63 ple, a screen profile will write 3 band RGB data. The output image biut
64 depth can be set to 8 or 16 with the depth parameter.
65
66 im_icc_export() behaves just as im_icc_export_depth(), but with depth
67 always 8 bit.
68
69 im_icc_ac2rc() converts an image from D50 absolute to media relative
70 colorimetry using the media white point found in the ICC profile.
71
72
74 The functions return 0 on success and -1 on error.
75
77 im_LabQ2Lab(3), im_Lab2XYZ(3).
78
80 The National Gallery
81
82
83
84
85 April 2002 IM_ICC_*()(3)