©
本文档使用
php.cn手册 发布
import "image/color"
Overview
Index
Subdirectories
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(c, m, y, k uint8) (uint8, uint8, uint8)
CMYKToRGB 将 CMYK 四元组转换为 RGB 三元组。
func RGBToCMYK(r, g, b uint8) (uint8, uint8, uint8, uint8)
RGBToCMYK 将 RGB 三元组转换为 CMYK 四元组。
func RGBToYCbCr(r, g, b uint8) (uint8, uint8, uint8)
RGBToYCbCr 将 RGB 三元组转换为 Y'CbCr 三元组。
func YCbCrToRGB(y, cb, cr uint8) (uint8, uint8, uint8)
YCbCrToRGB 将 Y'CbCr 三元组转换为 RGB 三元组。
Alpha 代表8位阿尔法颜色。
type Alpha struct { A uint8}
func (c Alpha) RGBA() (r, g, b, a uint32)
Alpha16 代表一个 16 位的 alpha 颜色。
type Alpha16 struct { A uint16}
func (c Alpha16) RGBA() (r, g, b, a uint32)
CMYK 表示完全不透明的 CMYK 颜色,每个青色,品红色,黄色和黑色都有8位。
它不与任何特定的颜色配置文件相关联。
type CMYK struct { C, M, Y, K uint8}
func (c CMYK) RGBA() (uint32, uint32, uint32, uint32)
颜色可以将其自身转换为每通道RGBA的alpha预乘16位。转换可能是有损的。
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 表示8位灰度色。
type Gray struct { Y uint8}
func (c Gray) RGBA() (r, g, b, a uint32)
Gray16表示16位灰度色。
type Gray16 struct { Y uint16}
func (c Gray16) RGBA() (r, g, b, a uint32)
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(f func(Color) Color) Model
ModelFunc返回一个调用f来实现转换的模型。
NRGBA表示非Alpha预乘32位颜色。
type NRGBA struct { R, G, B, A uint8}
func (c NRGBA) RGBA() (r, g, b, a uint32)
NRGBA64表示非alpha预乘64位颜色,每个红色,绿色,蓝色和alpha有16位。
type NRGBA64 struct { R, G, B, A uint16}
func (c NRGBA64) RGBA() (r, g, b, a uint32)
NYCbCrA代表一个非α预乘Y'CbCr-alpha-color,每个亮度,两个色度和一个alpha分量都有8位。
type NYCbCrA struct { YCbCr A uint8}
func (c NYCbCrA) RGBA() (uint32, uint32, uint32, uint32)
Palette是一种颜色调色板。
type Palette []Color
func (p Palette) Convert(c Color) Color
Convert在Euclidean R,G,B空间返回与c最接近的调色板颜色。
func (p Palette) Index(c Color) int
Index 返回欧几里德R,G,B,A空间中最接近c的调色板颜色索引。
RGBA表示传统的32位预处理Alpha色,每个颜色都有8位,分别表示红色,绿色,蓝色和阿尔法。
alpha-premultiplied颜色分量C已被缩放alpha(A),所以具有有效值0 <= C <= A.
type RGBA struct { R, G, B, A uint8}
func (c RGBA) RGBA() (r, g, b, a uint32)
RGBA64代表一个64位的alpha预乘颜色,每个红色,绿色,蓝色和alpha都有16位。
alpha-premultiplied颜色分量C已被缩放alpha(A),所以具有有效值0 <= C <= A.
type RGBA64 struct { R, G, B, A uint16}
func (c RGBA64) RGBA() (r, g, b, a uint32)
YCbCr表示完全不透明的24位Y'CbCr颜色,每个颜色具有8位,用于一个亮度和两个色度分量。
JPEG,VP8,MPEG系列和其他编解码器都使用这种颜色模型。这种编解码器通常可互换地使用术语YUV和Y'CbCr,但严格地说,术语YUV仅适用于模拟视频信号,并且在应用伽玛校正之后Y'(亮度)是Y(亮度)。
RGB和Y'CbCr之间的转换是有损耗的,并且在两者之间转换时有多个稍微不同的公式。该包遵循http://www.w3.org/Graphics/JPEG/jfif3.pdf中的JFIF规范。
type YCbCr struct { Y, Cb, Cr uint8}
func (c YCbCr) RGBA() (uint32, uint32, uint32, uint32)
Name | Synopsis |
---|
| .. |
| palette| 包调色板提供标准调色板。|