首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

颜色 | image/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 三元组。

Alpha 代表8位阿尔法颜色。

type Alpha struct {
        A uint8
}

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

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

Alpha16 代表一个 16 位的 alpha 颜色。

type Alpha16 struct {
        A uint16
}

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

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

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

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

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

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

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

颜色可以将其自身转换为每通道 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)
}

Gray 表示8位灰度色。

type Gray struct {
        Y uint8
}

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

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

Gray16表示16位灰度色。

type Gray16 struct {
        Y uint16
}

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

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

func ModelFunc(f func(Color) Color) Model

ModelFunc 返回一个调用 f 来实现转换的模型。

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

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

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

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

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)

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

type NYCbCrA struct {
        YCbCr
        A uint8
}

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

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

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 的调色板颜色索引。

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)

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)

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

包调色板提供标准调色板。

扫码关注腾讯云开发者

领取腾讯云代金券