颜色 | 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)
包文件
变量
标准颜色。
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 | 包调色板提供标准调色板。 |