1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
.TH LIBCOLOUR_CIE1960UCS 7 libcolour
.SH NAME
LIBCOLOUR_CIE1960UCS - CIE 1960 UCS
.SH DESCRIPTION
CIE 1960 UCS
colours are presented with either of
.nf
typedef struct libcolour_cie1960ucs_f libcolour_cie1960ucs_f_t;
typedef struct libcolour_cie1960ucs_lf libcolour_cie1960ucs_lf_t;
typedef struct libcolour_cie1960ucs_llf libcolour_cie1960ucs_llf_t;
.fi
These
.BR struct s
use
.BR float ,
.BR double ,
and
.BR long\ double ,
respecitively, for the values stored in them,
and are otherwise identical.
.B struct libcolour_cie1960ucs_f
is defined as
.nf
struct libcolour_cie1960ucs_f {
enum libcolour_model \fImodel\fP;
float \fIu\fP;
float \fIv\fP;
float \fIY\fP;
};
.fi
.I .model
shall be set to
.BR LIBCOLOUR_CIE1960UCS .
In
.BR union\ libcolour_colour_f ,
.BR union\ libcolour_colour_lf ,
and
.BR union\ libcolour_colour_llf ,
.I .cie1960ucs
is used for CIE 1960 UCS colours.
.P
.IR .u ,
.IR .v ,
and
.I .Y
hold the u, v, and, Y (luma) values.
.P
Y is 0 in black and 1 in white.
u is defined as 4X / (X + 15Y + 3Z), and
v is defined as 6X / (X + 15Y + 3Z), where
X, Y, and Z are CIE 1931 XYZ values.
.P
The Y value is not part of CIE 1960 UCS,
but is added, and borrowed from CIE 1931 XYZ
and CIE xyY, so that colours of all lumas
can be specified.
.P
CIE 1960 UCS is not additive.
.SH SEE ALSO
.BR libcolour (7)
.SH AUTHORS
Mattias Andrée
.RI < m@maandree.se >
|