color

package
v1.21.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2023 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

View Source
var (
	Black       = Gray16{0}
	White       = Gray16{0xffff}
	Transparent = Alpha16{0}
	Opaque      = Alpha16{0xffff}
)

標準的な色。

Functions

func CMYKToRGB added in v1.5.0

func CMYKToRGB(c, m, y, k uint8) (uint8, uint8, uint8)

CMYKToRGBは、CMYK四重奏をRGBトリプルに変換します。

func RGBToCMYK added in v1.5.0

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トリプルに変換します。

Types

type Alpha

type Alpha struct {
	A uint8
}

Alphaは、8ビットのアルファカラーを表します。

func (Alpha) RGBA

func (c Alpha) RGBA() (r, g, b, a uint32)

type Alpha16

type Alpha16 struct {
	A uint16
}

Alpha16は、16ビットのアルファカラーを表します。

func (Alpha16) RGBA

func (c Alpha16) RGBA() (r, g, b, a uint32)

type CMYK added in v1.5.0

type CMYK struct {
	C, M, Y, K uint8
}

CMYKは、シアン、マゼンタ、イエロー、ブラックの各色に8ビットずつ持つ、完全に不透明なCMYK色を表します。

それは特定のカラープロファイルに関連付けられていません。

func (CMYK) RGBA added in v1.5.0

func (c CMYK) RGBA() (uint32, uint32, uint32, uint32)

type Color

type Color interface {
	// RGBAは、色のアルファ乗算済みの赤、緑、青、アルファ値を返します。
	// 各値の範囲は[0, 0xffff]内ですが、uint32で表されているため、
	// 0xffffまでのブレンドファクターを掛けてもオーバーフローしません。
	//
	// アルファ乗算済みの色成分cは、アルファ(a)によってスケーリングされているため、
	// 0 <= c <= aの有効な値を持ちます。
	RGBA() (r, g, b, a uint32)
}

Colorは、アルファ乗算済みの16ビットチャンネルRGBAに自身を変換できます。 この変換は損失を伴う可能性があります。

type Gray

type Gray struct {
	Y uint8
}

Grayは、8ビットのグレースケールカラーを表します。

func (Gray) RGBA

func (c Gray) RGBA() (r, g, b, a uint32)

type Gray16

type Gray16 struct {
	Y uint16
}

Gray16は、16ビットのグレースケールカラーを表します。

func (Gray16) RGBA

func (c Gray16) RGBA() (r, g, b, a uint32)

type Model

type Model interface {
	Convert(c Color) Color
}

Modelは、任意の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)
)

標準のカラータイプのモデル。

var CMYKModel Model = ModelFunc(cmykModel)

CMYKModelはCMYK色のモデルです。

var NYCbCrAModel Model = ModelFunc(nYCbCrAModel)

NYCbCrAModelは、アルファ非乗算のY'CbCr-with-alpha色のモデルです。

var YCbCrModel Model = ModelFunc(yCbCrModel)

YCbCrModelはY'CbCr色のモデルです。

func ModelFunc

func ModelFunc(f func(Color) Color) Model

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

type NRGBA

type NRGBA struct {
	R, G, B, A uint8
}

NRGBAは、アルファ非乗算の32ビットカラーを表します。

func (NRGBA) RGBA

func (c NRGBA) RGBA() (r, g, b, a uint32)

type NRGBA64

type NRGBA64 struct {
	R, G, B, A uint16
}

NRGBA64は、アルファ非乗算の64ビットカラーを表し、 赤、緑、青、アルファそれぞれが16ビットです。

func (NRGBA64) RGBA

func (c NRGBA64) RGBA() (r, g, b, a uint32)

type NYCbCrA added in v1.6.0

type NYCbCrA struct {
	YCbCr
	A uint8
}

NYCbCrAは、アルファ非乗算のY'CbCr-with-alpha色を表し、 1つの輝度成分、2つの色差成分、1つのアルファ成分それぞれに8ビットずつを持っています。

func (NYCbCrA) RGBA added in v1.6.0

func (c NYCbCrA) RGBA() (uint32, uint32, uint32, uint32)

type Palette

type Palette []Color

Paletteは色のパレットです。

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

type RGBA struct {
	R, G, B, A uint8
}

RGBAは、伝統的な32ビットのアルファ乗算済みカラーを表し、赤、緑、青、アルファそれぞれが8ビットです。

アルファ乗算済みの色成分Cは、アルファ(A)によってスケーリングされているため、 0 <= C <= Aの有効な値を持ちます。

func (RGBA) RGBA

func (c RGBA) RGBA() (r, g, b, a uint32)

type RGBA64

type RGBA64 struct {
	R, G, B, A uint16
}

RGBA64は、64ビットのアルファ乗算済みカラーを表し、赤、緑、青、アルファそれぞれが16ビットです。

アルファ乗算済みの色成分Cは、アルファ(A)によってスケーリングされているため、 0 <= C <= Aの有効な値を持ちます。

func (RGBA64) RGBA

func (c RGBA64) RGBA() (r, g, b, a uint32)

type YCbCr

type YCbCr struct {
	Y, Cb, Cr uint8
}

YCbCrは、完全に不透明な24ビットのY'CbCr色を表し、 1つの輝度成分と2つの色差成分のそれぞれに8ビットずつを持っています。

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

RGBとY'CbCr間の変換は損失を伴い、両者間の変換には少し異なる複数の公式があります。 このパッケージは、https://www.w3.org/Graphics/JPEG/jfif3.pdf のJFIF仕様に従います。

func (YCbCr) RGBA

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

Directories

Path Synopsis
パッケージpaletteは、標準的なカラーパレットを提供します。
パッケージpaletteは、標準的なカラーパレットを提供します。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL