颜色 | image/color

Package color

  • import "image/color"

  • 概述

  • 索引

  • 子目录

概述

Package color 实现了一个基本的颜色库。

索引

  • Variables

  • 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)

  • type Alpha

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

  • type Alpha16

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

  • type CMYK

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

  • type Color

  • type Gray

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

  • type Gray16

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

  • type Model

  • func ModelFunc(f func(Color) Color) Model

  • type NRGBA

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

  • type NRGBA64

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

  • type NYCbCrA

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

  • type Palette

  • func (p Palette) Convert(c Color) Color

  • func (p Palette) Index(c Color) int

  • type RGBA

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

  • type RGBA64

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

  • type 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(查看源代码)

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

CMYKToRGB 将 CMYK 四元组转换为 RGB 三元组。

func RGBToCMYK(查看源代码)

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 位的 alpha 颜色。

type Alpha16 struct { A uint16 }

func (Alpha16) RGBA(查看源代码)

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

type CMYK(查看源代码)

CMYK 表示完全不透明的 CMYK 颜色,每个青色,品红色,黄色和黑色都有8位。

它不与任何特定的颜色配置文件相关联。

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

func (CMYK) RGBA(查看源代码)

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

type Color(查看源代码)

颜色可以将其自身转换为每通道 RGBA 的 alpha 预乘16位。转换可能是有损的。

type Color interface { // RGBA返回alpha预乘的红色,绿色,蓝色和alpha值 // 为了颜色。 每个值的范围都在[0,0xffff]内,但是会被表示 // 通过uint32使得乘以最大为0xffff的混合因子不会 // 溢出 // // alpha预乘颜色分量c已按alpha(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 }

Models 颜色类型的模型。

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 与 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 来实现转换的模型。

type NRGBA(查看源代码)

NRGBA 表示非 Alpha 预乘32位颜色。

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

func (NRGBA) RGBA(查看源代码)

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

type NRGBA64(查看源代码)

NRGBA64 表示非 alpha 预乘 64 位颜色,每个红色,绿色,蓝色和 alpha 有 16 位。

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

func (NRGBA64) RGBA(查看源代码)

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

type NYCbCrA(查看源代码)

NYCbCrA 代表一个非α预乘 Y'CbCr-alpha-color,每个亮度,两个色度和一个 alpha 分量都有8位。

type NYCbCrA struct { YCbCr A uint8 }

func (NYCbCrA) RGBA(查看源代码)

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 在 Euclidean R,G,B 空间返回与 c最接近的调色板颜色。

func (Palette) Index(查看源代码)

func (p Palette) Index(c Color) int

Index 返回 Euclidean R,G,B,A 空间中最接近 c 的调色板颜色索引。

type RGBA(查看源代码)

RGBA 表示传统的32位预处理 Alpha 色,每个颜色都有8位,分别表示红色,绿色,蓝色和阿尔法。

alpha-premultiplied 颜色分量C已被缩放 alpha(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位的 alpha 预乘颜色,每个红色,绿色,蓝色和 alpha 都有16位。

alpha-premultiplied 颜色分量C已被缩放alpha(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' (luma) 是 Y (luminance)。

RGB 和 Y'CbCr 之间的转换是有损耗的,并且在两者之间转换时有多个稍微不同的公式。该包遵循http://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包调色板提供标准调色板。