...

パッケージ color

import "image/color"
概要
目次
サブディレクトリ

概要 ▾

color パッケージは基本的なカラーライブラリを実装します。

変数

標準色です。

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 は, CMYK4 倍体を RGB3 倍体に変​​換します。

func RGBToCMYK 1.5

func RGBToCMYK(r, g, b uint8) (uint8, uint8, uint8, uint8)

RGBToCMYK は, RGB のトリプルを CMYK の 4 倍に変換します。

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 は,アルファ乗算済みの赤,緑,青,およびアルファの値を返します。
    // 各値の範囲は [0, 0xffff] ですが, uint32 で表されるため,最大 0xffff までのブレンド係数の乗算はオーバーフローしません。
    //
    // アルファ乗算済みカラー成分 c はアルファ (a) でスケーリングされているので,有効値は 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 (モデル) は任意の色をそれ自身の色モデルから色に変換することができます。 変換は損失がある可能性があります。

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 は CMYK カラーのモデルです。

var CMYKModel Model = ModelFunc(cmykModel)

NYCbCrAModel は,アルファが乗算されていない Y'CbCr-with-alpha カラーのモデルです。

var NYCbCrAModel Model = ModelFunc(nYCbCrAModel)

YCbCrModel は, Y'CbCr カラーのモデルです。

var YCbCrModel Model = ModelFunc(yCbCrModel)

func ModelFunc

func ModelFunc(f func(Color) Color) Model

ModelFunc は,変換を実装するために f を呼び出す Model を返します。

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 は,アルファなし 2 倍の Y'CbCr とアルファ色を表し, 1 ルーマ, 2 クロマ, 1 アルファ成分に対してそれぞれ 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 (変換) はユークリッド R,G,B 空間で c に最も近いパレットカラーを返します。

func (Palette) Index

func (p Palette) Index(c Color) int

Index (インデックス) は,ユークリッド R,G,B,A 空間で c に最も近いパレットカラーのインデックスを返します。

type RGBA

RGBA は,赤,緑,青,およびアルファのそれぞれに 8 ビットを持つ,従来の 32 ビットアルファを乗じた色を表します。

アルファ乗算済みカラー成分 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 は,赤,緑,青,およびアルファのそれぞれに 16 ビットを持つ, 64 ビットのアルファ乗算済みカラーを表します。

アルファ乗算済みカラー成分 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 カラーを表し, 1 つの輝度成分と 2 つの彩度成分に対してそれぞれ 8 ビットを持ちます。

JPEG , VP8 , MPEG ファミリ,およびその他のコーデックはこのカラーモデルを使用します。 そのようなコーデックはしばしば YUV と Y'CbCr という用語を互換的に使用しますが,厳密に言えば, YUV という用語はアナログビデオ信号にのみ適用され, Y' (輝度) はガンマ補正を適用した後の Y (輝度) です。

RGB と Y'CbCr の間の変換は損失が多く, 2 つの間で変換するための複数の,わずかに異なる式があります。 このパッケージは https://www.w3.org/Graphics/JPEG/jfif3.pdf にある JFIF 仕様に準拠しています。

type YCbCr struct {
    Y, Cb, Cr uint8
}

func (YCbCr) RGBA

func (c YCbCr) RGBA() (uint32, uint32, uint32, uint32)

サブディレクトリ

名前 概要
..
palette palette パッケージは標準カラーパレットを提供します。