Пакет 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.
тип Alpha
Alpha представляет цвет с альфа-каналом 8 бит.
type Alpha struct {
A uint8
}
func (Alpha) RGBA
func (c Alpha) RGBA() (r, g, b, a uint32)
тип Alpha16
Alpha16 представляет цвет с альфа-каналом 16 бит.
type Alpha16 struct {
A uint16
}
func (Alpha16) RGBA
func (c Alpha16) RGBA() (r, g, b, a uint32)
тип 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)
тип Color
Color может преобразовать себя в 16-битный RGBA с предумножением альфы. Преобразование может быть убыточным.
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)
} тип Gray
Gray представляет 8-битный цвет градации серого.
type Gray struct {
Y uint8
}
func (Gray) RGBA
func (c Gray) RGBA() (r, g, b, a uint32)
тип Gray16
Gray16 представляет 16-битный цвет градации серого.
type Gray16 struct {
Y uint16
}
func (Gray16) RGBA
func (c Gray16) RGBA() (r, g, b, a uint32)
тип 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 для реализации преобразования.
тип NRGBA
NRGBA представляет не-пред-умноженный 32-битный цвет.
type NRGBA struct {
R, G, B, A uint8
}
func (NRGBA) RGBA
func (c NRGBA) RGBA() (r, g, b, a uint32)
тип NRGBA64
NRGBA64 представляет не-пред-умноженный 64-битный цвет, имеющий 16 бит для каждого из красного, зелёного, синего и альфы.
type NRGBA64 struct {
R, G, B, A uint16
}
func (NRGBA64) RGBA
func (c NRGBA64) RGBA() (r, g, b, a uint32)
тип 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)
тип 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.
тип 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)
тип 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)
тип 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/