Пакет color
Обзор
Пакет color реализует базовую библиотеку цветов.
Указатель
Файлы пакета
color.go ycbcr.go
Переменные
Стандартные цвета.
var (
Black = Gray16{0}
White = Gray16{0xffff}
Transparent = Alpha16{0}
Opaque = Alpha16{0xffff}
) func CMYKToRGB 1.5
func CMYKToRGB(c, m, y, k uint8) (uint8, uint8, uint8)
CMYKToRGB преобразует четверку значений CMYK в тройку значений RGB.
func RGBToCMYK 1.5
func RGBToCMYK(r, g, b uint8) (uint8, uint8, uint8, uint8)
RGBToCMYK преобразует тройку значений RGB в четверку значений CMYK.
func RGBToYCbCr
func RGBToYCbCr(r, g, b uint8) (uint8, uint8, uint8)
RGBToYCbCr преобразует тройку значений RGB в тройку значений Y'CbCr.
func YCbCrToRGB
func YCbCrToRGB(y, cb, cr uint8) (uint8, uint8, uint8)
YCbCrToRGB преобразует тройку значений Y'CbCr в тройку значений RGB.
type Alpha
Alpha представляет 8-битный альфа-цвет.
type Alpha struct {
A uint8
}
func (Alpha) RGBA
func (c Alpha) RGBA() (r, g, b, a uint32)
type Alpha16
Alpha16 представляет 16-битный альфа-цвет.
type Alpha16 struct {
A uint16
}
func (Alpha16) RGBA
func (c Alpha16) RGBA() (r, g, b, a uint32)
type CMYK 1.5
CMYK представляет полностью непрозрачный цвет CMYK с 8 битами для каждого из компонентов: голубого, пурпурного, желтого и черного.
Он не связан с каким-либо конкретным цветовым профилем.
type CMYK struct {
C, M, Y, K uint8
}
func (CMYK) RGBA 1.5
func (c CMYK) RGBA() (uint32, uint32, uint32, uint32)
type Color
Color может преобразовать себя в RGBA с предварительным умножением на альфа-канал и 16 битами на канал. Преобразование может быть с потерями.
type Color interface {
// RGBA returns the alpha-premultiplied red, green, blue and alpha values
// for the color. Each value ranges within [0, 0xffff], but is represented
// by a uint32 so that multiplying by a blend factor up to 0xffff will not
// overflow.
//
// An alpha-premultiplied color component c has been scaled by alpha (a),
// so has valid values 0 <= c <= a.
RGBA() (r, g, b, a uint32)
} type Gray
Gray представляет 8-битный оттенок серого.
type Gray struct {
Y uint8
}
func (Gray) RGBA
func (c Gray) RGBA() (r, g, b, a uint32)
type Gray16
Gray16 представляет 16-битный оттенок серого.
type Gray16 struct {
Y uint16
}
func (Gray16) RGBA
func (c Gray16) RGBA() (r, g, b, a uint32)
type Model
Model может преобразовать любой цвет Color в цвет собственной цветовой модели. Преобразование может быть с потерями.
type Model interface {
Convert(c Color) Color
} Модели для стандартных типов цветов.
var (
RGBAModel Model = ModelFunc(rgbaModel)
RGBA64Model Model = ModelFunc(rgba64Model)
NRGBAModel Model = ModelFunc(nrgbaModel)
NRGBA64Model Model = ModelFunc(nrgba64Model)
AlphaModel Model = ModelFunc(alphaModel)
Alpha16Model Model = ModelFunc(alpha16Model)
GrayModel Model = ModelFunc(grayModel)
Gray16Model Model = ModelFunc(gray16Model)
) CMYKModel — это Model для цветов CMYK.
var CMYKModel Model = ModelFunc(cmykModel)
NYCbCrAModel — это Model для цветов Y'CbCr с альфа-каналом без предварительного умножения на альфа-канал.
var NYCbCrAModel Model = ModelFunc(nYCbCrAModel)
YCbCrModel — это Model для цветов Y'CbCr.
var YCbCrModel Model = ModelFunc(yCbCrModel)
func ModelFunc
func ModelFunc(f func(Color) Color) Model
ModelFunc возвращает Model, которая вызывает f для реализации преобразования.
type NRGBA
NRGBA представляет 32-битный цвет без предварительного умножения на альфа-канал.
type NRGBA struct {
R, G, B, A uint8
}
func (NRGBA) RGBA
func (c NRGBA) RGBA() (r, g, b, a uint32)
type NRGBA64
NRGBA64 представляет 64-битный цвет без предварительного умножения на альфа-канал: по 16 бит для каждого из красного, зеленого, синего каналов и альфа-канала.
type NRGBA64 struct {
R, G, B, A uint16
}
func (NRGBA64) RGBA
func (c NRGBA64) RGBA() (r, g, b, a uint32)
type NYCbCrA 1.6
NYCbCrA представляет цвет Y'CbCr с альфа-каналом без предварительного умножения на альфа-канал: по 8 бит для компонента яркости, двух компонентов цветности и компонента альфа-канала.
type NYCbCrA struct {
YCbCr
A uint8
}
func (NYCbCrA) RGBA 1.6
func (c NYCbCrA) RGBA() (uint32, uint32, uint32, uint32)
type Palette
Palette — это палитра цветов.
type Palette []Color
func (Palette) Convert
func (p Palette) Convert(c Color) Color
Convert возвращает цвет палитры, ближайший к c в евклидовом пространстве R,G,B.
func (Palette) Index
func (p Palette) Index(c Color) int
Index возвращает индекс цвета палитры, ближайшего к c в евклидовом пространстве R,G,B,A.
type RGBA
RGBA представляет традиционный 32-битный цвет с предварительным умножением на альфа-канал: по 8 бит для каждого из красного, зеленого, синего каналов и альфа-канала.
Компонент C цвета с предварительным умножением на альфа-канал масштабируется альфа-каналом (A), поэтому допустимые значения находятся в диапазоне 0 <= C <= A.
type RGBA struct {
R, G, B, A uint8
}
func (RGBA) RGBA
func (c RGBA) RGBA() (r, g, b, a uint32)
type RGBA64
RGBA64 представляет 64-битный цвет с предварительным умножением на альфа-канал: по 16 бит для каждого из красного, зеленого, синего каналов и альфа-канала.
Компонент C цвета с предварительным умножением на альфа-канал масштабируется альфа-каналом (A), поэтому допустимые значения находятся в диапазоне 0 <= C <= A.
type RGBA64 struct {
R, G, B, A uint16
}
func (RGBA64) RGBA
func (c RGBA64) RGBA() (r, g, b, a uint32)
type YCbCr
YCbCr представляет полностью непрозрачный 24-битный цвет Y'CbCr: по 8 бит для компонента яркости и двух компонентов цветности.
В JPEG, VP8, семействе MPEG и других кодеках используется эта цветовая модель. В таких кодеках термины YUV и Y'CbCr часто используются как взаимозаменяемые, однако, строго говоря, термин YUV применяется только к аналоговым видеосигналам, а Y' (яркость) — это Y (светимость) после гамма-коррекции.
Преобразование между RGB и Y'CbCr выполняется с потерями; существует несколько немного различающихся формул для преобразования между ними. Этот пакет следует спецификации JFIF по адресу https://www.w3.org/Graphics/JPEG/jfif3.pdf.
type YCbCr struct {
Y, Cb, Cr uint8
}
func (YCbCr) RGBA
func (c YCbCr) RGBA() (uint32, uint32, uint32, uint32)
Подкаталоги
© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/image/color/