?
This document uses PHP Chinese website manual Release
import "image/color"
Overview
Index
Subdirectories
Package color實現(xiàn)了一個基本的顏色庫。
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 四元組轉(zhuǎn)換為 RGB 三元組。
func RGBToCMYK(r, g, b uint8) (uint8, uint8, uint8, uint8)
RGBToCMYK 將 RGB 三元組轉(zhuǎn)換為 CMYK 四元組。
func RGBToYCbCr(r, g, b uint8) (uint8, uint8, uint8)
RGBToYCbCr 將 RGB 三元組轉(zhuǎn)換為 Y'CbCr 三元組。
func YCbCrToRGB(y, cb, cr uint8) (uint8, uint8, uint8)
YCbCrToRGB 將 Y'CbCr 三元組轉(zhuǎn)換為 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位。
它不與任何特定的顏色配置文件相關(guān)聯(lián)。
type CMYK struct { C, M, Y, K uint8}
func (c CMYK) RGBA() (uint32, uint32, uint32, uint32)
顏色可以將其自身轉(zhuǎn)換為每通道RGBA的alpha預(yù)乘16位。轉(zhuǎn)換可能是有損的。
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可以將任何顏色轉(zhuǎn)換為其自己的顏色模型。轉(zhuǎn)換可能是有損的。
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ù)乘Y'CbCr與alpha顏色的模型。
var NYCbCrAModel Model = ModelFunc(nYCbCrAModel)
YCbCrModel是Y'CbCr顏色的模型。
var YCbCrModel Model = ModelFunc(yCbCrModel)
func ModelFunc(f func(Color) Color) Model
ModelFunc返回一個調(diào)用f來實現(xiàn)轉(zhuǎn)換的模型。
NRGBA表示非Alpha預(yù)乘32位顏色。
type NRGBA struct { R, G, B, A uint8}
func (c NRGBA) RGBA() (r, g, b, a uint32)
NRGBA64表示非alpha預(yù)乘64位顏色,每個紅色,綠色,藍色和alpha有16位。
type NRGBA64 struct { R, G, B, A uint16}
func (c NRGBA64) RGBA() (r, g, b, a uint32)
NYCbCrA代表一個非α預(yù)乘Y'CbCr-alpha-color,每個亮度,兩個色度和一個alpha分量都有8位。
type NYCbCrA struct { YCbCr A uint8}
func (c NYCbCrA) RGBA() (uint32, uint32, uint32, uint32)
Palette是一種顏色調(diào)色板。
type Palette []Color
func (p Palette) Convert(c Color) Color
Convert在Euclidean R,G,B空間返回與c最接近的調(diào)色板顏色。
func (p Palette) Index(c Color) int
Index 返回歐幾里德R,G,B,A空間中最接近c的調(diào)色板顏色索引。
RGBA表示傳統(tǒng)的32位預(yù)處理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預(yù)乘顏色,每個紅色,綠色,藍色和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系列和其他編解碼器都使用這種顏色模型。這種編解碼器通常可互換地使用術(shù)語YUV和Y'CbCr,但嚴格地說,術(shù)語YUV僅適用于模擬視頻信號,并且在應(yīng)用伽瑪校正之后Y'(亮度)是Y(亮度)。
RGB和Y'CbCr之間的轉(zhuǎn)換是有損耗的,并且在兩者之間轉(zhuǎn)換時有多個稍微不同的公式。該包遵循h(huán)ttp://www.w3.org/Graphics/JPEG/jfif3.pdf中的JFIF規(guī)范。
type YCbCr struct { Y, Cb, Cr uint8}
func (c YCbCr) RGBA() (uint32, uint32, uint32, uint32)
Name | Synopsis |
---|
| .. |
| palette| 包調(diào)色板提供標準調(diào)色板。|