shithub: riscv

ref: 8309f15c3669d684da7c3fe2b6748f9362e1cc38
dir: /sys/man/2/color/

View raw version
.TH COLOR 2
.SH NAME
cmap2rgb, cmap2rgba, rgb2cmap \- colors and color maps
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.br
.B #include <draw.h>
.PP
.B
int	rgb2cmap(int red, int green, int blue)
.PP
.B
int	cmap2rgb(int col)
.PP
.B
int	cmap2rgba(int col)
.SH DESCRIPTION
These routines convert between `true color' red/green/blue triples and the Plan 9 color map.
See
.IR color (6)
for a description of RGBV, the standard color map.
.PP
.I Rgb2cmap
takes a trio of color values, scaled from 0 (no intensity) to 255 (full intensity),
and returns the index of the color in RGBV closest to that represented
by those values.
.PP
.I Cmap2rgb
decomposes the color of RGBV index
.I col
and returns a 24-bit integer with the low 8 bits representing the blue value,
the next 8 representing green, and the next 8 representing red.
.I Cmap2rgba
decomposes the color of RGBV index
.I col
and returns a 32-bit integer with the low 8 bits representing an alpha value,
defined to be 255,
and the next 8 representing blue, then green, then red, as for
.I cmap2rgba
shifted up 8 bits.
This 32-bit representation is the format used by 
.IR draw (2)
and
.IR memdraw (2)
library routines that
take colors as arguments.
.SH SOURCE
.B /sys/src/libdraw
.SH SEE ALSO
.IR graphics (2),
.IR allocimage (2),
.IR draw (2),
.IR image (6),
.IR color (6)