Spec-Zone.ru › Go

Пакет color

  • import "image/color"
  • Обзор
  • Индекс
  • Подкаталоги

Обзор

Пакет color реализует базовый библиотеку цветов.

Индекс

  • Переменные
  • func CMYKToRGB(c, m, y, k uint8) (uint8, uint8, uint8)
  • func RGBToCMYK(r, g, b uint8) (uint8, uint8, uint8, uint8)
  • func RGBToYCbCr(r, g, b uint8) (uint8, uint8, uint8)
  • func YCbCrToRGB(y, cb, cr uint8) (uint8, uint8, uint8)
  • тип Alpha
  • func (c Alpha) RGBA() (r, g, b, a uint32)
  • тип Alpha16
  • func (c Alpha16) RGBA() (r, g, b, a uint32)
  • тип CMYK
  • func (c CMYK) RGBA() (uint32, uint32, uint32, uint32)
  • тип Color
  • тип Gray
  • func (c Gray) RGBA() (r, g, b, a uint32)
  • тип Gray16
  • func (c Gray16) RGBA() (r, g, b, a uint32)
  • тип Model
  • func ModelFunc(f func(Color) Color) Model
  • тип NRGBA
  • func (c NRGBA) RGBA() (r, g, b, a uint32)
  • тип NRGBA64
  • func (c NRGBA64) RGBA() (r, g, b, a uint32)
  • тип NYCbCrA
  • func (c NYCbCrA) RGBA() (uint32, uint32, uint32, uint32)
  • тип Palette
  • func (p Palette) Convert(c Color) Color
  • func (p Palette) Index(c Color) int
  • тип RGBA
  • func (c RGBA) RGBA() (r, g, b, a uint32)
  • тип RGBA64
  • func (c RGBA64) RGBA() (r, g, b, a uint32)
  • тип YCbCr
  • func (c YCbCr) RGBA() (uint32, uint32, uint32, uint32)

Файлы пакета

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)

Подкаталоги

Имя Синопсис
..
palette Пакет palette предоставляет стандартные цветовые палитры.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/image/color/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API