| \section{The \texttt{VDisplay} class} |
| |
| The \verb+VDisplay+ class is an abstraction over the VIPS \verb+im_col_display+ |
| type which gives convenient and safe representation of VIPS display profiles. |
| |
| VIPS display profiles are now mostly obsolete. You're better off using the |
| ICC colour management \verb+VImage+ member functions \verb+ICC_export()+ and |
| \verb+ICC_import()+. |
| |
| \subsection{Constructors} |
| |
| There are two constructors for \verb+VDisplay+: |
| |
| \begin{verbatim} |
| VDisplay( const char *name ); |
| VDisplay(); |
| \end{verbatim} |
| |
| The first form initialises the display from one of the standard VIPS display |
| types. For example: |
| |
| \begin{verbatim} |
| VDisplay fred( "sRGB" ); |
| VDisplay jim( "ultra2-20/2/98" ); |
| \end{verbatim} |
| |
| Makes \verb+fred+ a profile for making images in sRGB format, and \verb+jim+ a |
| profile representing my workstation display, as of 20/2/98. The second form |
| of constructor makes an uninitialised display. |
| |
| \subsection{Projection functions} |
| |
| A set of member functions of \verb+VDisplay+ provide read and write access to |
| the fields in the display. |
| |
| \begin{verbatim} |
| 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(); |
| \end{verbatim} |
| |
| Where \verb+VDisplayType+ is defined as: |
| |
| \begin{verbatim} |
| enum VDisplayType { |
| BARCO, |
| DUMB |
| }; |
| \end{verbatim} |
| |
| And \verb+matrix+ is defined as: |
| |
| \begin{verbatim} |
| typedef float matrix[3][3]; |
| \end{verbatim} |
| |
| For a description of all the fields in a VIPS display profile, see the manual |
| page for \verb+im_XYZ2RGB()+. |