The VDisplay class is an abstraction over the VIPS im_col_display type which gives convenient and safe representation of VIPS display profiles.
VIPS display profiles are now obsolete. You’re better off using the ICC colour management VImage member functions ICC_export() and ICC_import().
There are two constructors for VDisplay:
VDisplay( const char ⋆name );
VDisplay(); |
The first form initialises the display from one of the standard VIPS display types. For example:
VDisplay fred( "sRGB" );
VDisplay jim( "ultra2-20/2/98" ); |
Makes fred a profile for making images in sRGB format, and jim a profile representing my workstation display, as of 20/2/98. The second form of constructor makes an uninitialised display.
A set of member functions of VDisplay provide read and write access to the fields in the display.
char ⋆name();
VDisplayType &type(); matrix &mat(); float &YCW(); float &xCW(); float &yCW(); float &YCR(); float &YCG(); float &YCB(); int &Vrwr(); int &Vrwg(); int &Vrwb(); float &Y0R(); float &Y0G(); float &Y0B(); float &gammaR(); float &gammaG(); float &gammaB(); float &B(); float &P(); |
Where VDisplayType is defined as:
enum VDisplayType {
BARCO, DUMB }; |
And matrix is defined as:
typedef float matrix[3][3];
|
For a description of all the fields in a VIPS display profile, see the manual page for im_XYZ2RGB().