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

图像 | image

  • import "image"
  • 概述
  • 索引
  • 示例
  • 子目录

概述

图像包实现了一个基本的二维图像库。

基本界面被称为图像。图像包含图像/颜色包中描述的颜色。

Image 接口的值可以通过调用诸如 NewRGBA 和 NewPaletted 之类的函数来创建,也可以通过在包含 GIF,JPEG或PNG等格式的图像数据的 io.Reader 上调用 Decode 来创建。解码任何特定的图像格式需要预先注册解码器功能。注册通常是自动的,作为初始化格式包的副作用,因此,要解码 PNG 图像,只需要

代码语言:javascript
复制
import _ "image/png"

在一个程序的主要包装中。意味着纯粹为了初始化副作用导入一个包。

有关更多详细信息,请参阅“Go图像包”:https//golang.org/doc/articles/image_package.html

示例

代码语言:txt
复制
// 此示例演示如何解码JPEG图像并检查其像素。
package main

import (
	"encoding/base64"
	"fmt"
	"image"
	"log"
	"strings"

	// image/jpeg包未在下面的代码中明确使用,
	// 但导入的初始化副作用允许
	// image.Decode以了解JPEG格式的图像。 取消注释这
	// 两行也能理解GIF和PNG图像:
	// _ "image/gif"
	// _ "image/png"
	_ "image/jpeg"
)

func main() {
	// 解码JPEG数据。 如果从文件中读取,请创建一个阅读器
	// reader, err := os.Open("testdata/video-001.q50.420.jpeg")
	// if err != nil {
	//     log.Fatal(err)
	// }
	// defer reader.Close()
	reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(data))
	m, _, err := image.Decode(reader)
	if err != nil {
		log.Fatal(err)
	}
	bounds := m.Bounds()

	// 计算m的红色,绿色,蓝色和alpha分量的16-bin直方图。
	//
	// 图像的边界不一定从(0,0)开始,因此两个循环开始
	// 在bounds.Min.Y和bounds.Min.X。 首先循环Y和X秒更多
	// 可能导致比X first和Y second更好的内存访问模式。
	var histogram [16][4]int
	for y := bounds.Min.Y; y < bounds.Max.Y; y++ {
		for x := bounds.Min.X; x < bounds.Max.X; x++ {
			r, g, b, a := m.At(x, y).RGBA()
			// 颜色的RGBA方法返回[0,65535]范围内的值。
			// 移位12将其减小到[0,15] .g的范围
			histogram[r>>12][0]++
			histogram[g>>12][1]++
			histogram[b>>12][2]++
			histogram[a>>12][3]++
		}
	}

	// 打印结果。
	fmt.Printf("%-14s %6s %6s %6s %6s\n", "bin", "red", "green", "blue", "alpha")
	for i, x := range histogram {
		fmt.Printf("0x%04x-0x%04x: %6d %6d %6d %6d\n", i<<12, (i+1)<<12-1, x[0], x[1], x[2], x[3])
	}
}

const data = `
/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdA
SFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2Nj
Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCABnAJYDASIAAhEBAxEB/8QA
HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDlwKMD0pwzSiuK57QzGDxS7D6in8Y5ximnAPUfSlcq4m3ilUYp
2OKXHvRcVxnTtS7c07HNFK4DQPakC4PNOA+tOx70XAjK/So5gBGP94fzqfvUVx/qxx/EP51UXqRP4WSE
cmgjilP3jSEZqS0IO/NGDnpUiocDg/McDjvV6HTPOdVWYgsM5KcfzzQ2JySM2jp6VYu7SWzmMUwG4cgj
kMPUVBjjtTGtRu0Zopw+lFFxhinrGzuqqMsxAA9yaXFSRv5cqSEcIwYj6GpuZ30O30fSLKzhUpbpNMv3
5XGTn29BV28jt7pPLuIVljPBBFVreYx+VbqAjycgt3x14zRcNOxGyVFHQkIc/wA61exyKLbuzjdZ046d
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
`

索引

  • 变量
  • func RegisterFormat(name, magic string, decode func(io.Reader) (Image, error), decodeConfig func(io.Reader) (Config, error))
  • type Alpha
  • func NewAlpha(r Rectangle) *Alpha
  • func (p *Alpha) AlphaAt(x, y int) color.Alpha
  • func (p *Alpha) At(x, y int) color.Color
  • func (p *Alpha) Bounds() Rectangle
  • func (p *Alpha) ColorModel() color.Model
  • func (p *Alpha) Opaque() bool
  • func (p *Alpha) PixOffset(x, y int) int
  • func (p *Alpha) Set(x, y int, c color.Color)
  • func (p *Alpha) SetAlpha(x, y int, c color.Alpha)
  • func (p *Alpha) SubImage(r Rectangle) Image
  • type Alpha16
  • func NewAlpha16(r Rectangle) *Alpha16
  • func (p *Alpha16) Alpha16At(x, y int) color.Alpha16
  • func (p *Alpha16) At(x, y int) color.Color
  • func (p *Alpha16) Bounds() Rectangle
  • func (p *Alpha16) ColorModel() color.Model
  • func (p *Alpha16) Opaque() bool
  • func (p *Alpha16) PixOffset(x, y int) int
  • func (p *Alpha16) Set(x, y int, c color.Color)
  • func (p *Alpha16) SetAlpha16(x, y int, c color.Alpha16)
  • func (p *Alpha16) SubImage(r Rectangle) Image
  • type CMYK
  • func NewCMYK(r Rectangle) *CMYK
  • func (p *CMYK) At(x, y int) color.Color
  • func (p *CMYK) Bounds() Rectangle
  • func (p *CMYK) CMYKAt(x, y int) color.CMYK
  • func (p *CMYK) ColorModel() color.Model
  • func (p *CMYK) Opaque() bool
  • func (p *CMYK) PixOffset(x, y int) int
  • func (p *CMYK) Set(x, y int, c color.Color)
  • func (p *CMYK) SetCMYK(x, y int, c color.CMYK)
  • func (p *CMYK) SubImage(r Rectangle) Image
  • type Config
  • func DecodeConfig(r io.Reader) (Config, string, error)
  • type Gray
  • func NewGray(r Rectangle) *Gray
  • func (p *Gray) At(x, y int) color.Color
  • func (p *Gray) Bounds() Rectangle
  • func (p *Gray) ColorModel() color.Model
  • func (p *Gray) GrayAt(x, y int) color.Gray
  • func (p *Gray) Opaque() bool
  • func (p *Gray) PixOffset(x, y int) int
  • func (p *Gray) Set(x, y int, c color.Color)
  • func (p *Gray) SetGray(x, y int, c color.Gray)
  • func (p *Gray) SubImage(r Rectangle) Image
  • type Gray16
  • func NewGray16(r Rectangle) *Gray16
  • func (p *Gray16) At(x, y int) color.Color
  • func (p *Gray16) Bounds() Rectangle
  • func (p *Gray16) ColorModel() color.Model
  • func (p *Gray16) Gray16At(x, y int) color.Gray16
  • func (p *Gray16) Opaque() bool
  • func (p *Gray16) PixOffset(x, y int) int
  • func (p *Gray16) Set(x, y int, c color.Color)
  • func (p *Gray16) SetGray16(x, y int, c color.Gray16)
  • func (p *Gray16) SubImage(r Rectangle) Image
  • type Image
  • func Decode(r io.Reader) (Image, string, error)
  • type NRGBA
  • func NewNRGBA(r Rectangle) *NRGBA
  • func (p *NRGBA) At(x, y int) color.Color
  • func (p *NRGBA) Bounds() Rectangle
  • func (p *NRGBA) ColorModel() color.Model
  • func (p *NRGBA) NRGBAAt(x, y int) color.NRGBA
  • func (p *NRGBA) Opaque() bool
  • func (p *NRGBA) PixOffset(x, y int) int
  • func (p *NRGBA) Set(x, y int, c color.Color)
  • func (p *NRGBA) SetNRGBA(x, y int, c color.NRGBA)
  • func (p *NRGBA) SubImage(r Rectangle) Image
  • type NRGBA64
  • func NewNRGBA64(r Rectangle) *NRGBA64
  • func (p *NRGBA64) At(x, y int) color.Color
  • func (p *NRGBA64) Bounds() Rectangle
  • func (p *NRGBA64) ColorModel() color.Model
  • func (p *NRGBA64) NRGBA64At(x, y int) color.NRGBA64
  • func (p *NRGBA64) Opaque() bool
  • func (p *NRGBA64) PixOffset(x, y int) int
  • func (p *NRGBA64) Set(x, y int, c color.Color)
  • func (p *NRGBA64) SetNRGBA64(x, y int, c color.NRGBA64)
  • func (p *NRGBA64) SubImage(r Rectangle) Image
  • type NYCbCrA
  • func NewNYCbCrA(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *NYCbCrA
  • func (p *NYCbCrA) AOffset(x, y int) int
  • func (p *NYCbCrA) At(x, y int) color.Color
  • func (p *NYCbCrA) ColorModel() color.Model
  • func (p *NYCbCrA) NYCbCrAAt(x, y int) color.NYCbCrA
  • func (p *NYCbCrA) Opaque() bool
  • func (p *NYCbCrA) SubImage(r Rectangle) Image
  • type Paletted
  • func NewPaletted(r Rectangle, p color.Palette) *Paletted
  • func (p *Paletted) At(x, y int) color.Color
  • func (p *Paletted) Bounds() Rectangle
  • func (p *Paletted) ColorIndexAt(x, y int) uint8
  • func (p *Paletted) ColorModel() color.Model
  • func (p *Paletted) Opaque() bool
  • func (p *Paletted) PixOffset(x, y int) int
  • func (p *Paletted) Set(x, y int, c color.Color)
  • func (p *Paletted) SetColorIndex(x, y int, index uint8)
  • func (p *Paletted) SubImage(r Rectangle) Image
  • type PalettedImage
  • type Point
  • func Pt(X, Y int) Point
  • func (p Point) Add(q Point) Point
  • func (p Point) Div(k int) Point
  • func (p Point) Eq(q Point) bool
  • func (p Point) In(r Rectangle) bool
  • func (p Point) Mod(r Rectangle) Point
  • func (p Point) Mul(k int) Point
  • func (p Point) String() string
  • func (p Point) Sub(q Point) Point
  • type RGBA
  • func NewRGBA(r Rectangle) *RGBA
  • func (p *RGBA) At(x, y int) color.Color
  • func (p *RGBA) Bounds() Rectangle
  • func (p *RGBA) ColorModel() color.Model
  • func (p *RGBA) Opaque() bool
  • func (p *RGBA) PixOffset(x, y int) int
  • func (p *RGBA) RGBAAt(x, y int) color.RGBA
  • func (p *RGBA) Set(x, y int, c color.Color)
  • func (p *RGBA) SetRGBA(x, y int, c color.RGBA)
  • func (p *RGBA) SubImage(r Rectangle) Image
  • type RGBA64
  • func NewRGBA64(r Rectangle) *RGBA64
  • func (p *RGBA64) At(x, y int) color.Color
  • func (p *RGBA64) Bounds() Rectangle
  • func (p *RGBA64) ColorModel() color.Model
  • func (p *RGBA64) Opaque() bool
  • func (p *RGBA64) PixOffset(x, y int) int
  • func (p *RGBA64) RGBA64At(x, y int) color.RGBA64
  • func (p *RGBA64) Set(x, y int, c color.Color)
  • func (p *RGBA64) SetRGBA64(x, y int, c color.RGBA64)
  • func (p *RGBA64) SubImage(r Rectangle) Image
  • type Rectangle
  • func Rect(x0, y0, x1, y1 int) Rectangle
  • func (r Rectangle) Add(p Point) Rectangle
  • func (r Rectangle) At(x, y int) color.Color
  • func (r Rectangle) Bounds() Rectangle
  • func (r Rectangle) Canon() Rectangle
  • func (r Rectangle) ColorModel() color.Model
  • func (r Rectangle) Dx() int
  • func (r Rectangle) Dy() int
  • func (r Rectangle) Empty() bool
  • func (r Rectangle) Eq(s Rectangle) bool
  • func (r Rectangle) In(s Rectangle) bool
  • func (r Rectangle) Inset(n int) Rectangle
  • func (r Rectangle) Intersect(s Rectangle) Rectangle
  • func (r Rectangle) Overlaps(s Rectangle) bool
  • func (r Rectangle) Size() Point
  • func (r Rectangle) String() string
  • func (r Rectangle) Sub(p Point) Rectangle
  • func (r Rectangle) Union(s Rectangle) Rectangle
  • type Uniform
  • func NewUniform(c color.Color) *Uniform
  • func (c *Uniform) At(x, y int) color.Color
  • func (c *Uniform) Bounds() Rectangle
  • func (c *Uniform) ColorModel() color.Model
  • func (c *Uniform) Convert(color.Color) color.Color
  • func (c *Uniform) Opaque() bool
  • func (c *Uniform) RGBA() (r, g, b, a uint32)
  • type YCbCr
  • func NewYCbCr(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *YCbCr
  • func (p *YCbCr) At(x, y int) color.Color
  • func (p *YCbCr) Bounds() Rectangle
  • func (p *YCbCr) COffset(x, y int) int
  • func (p *YCbCr) ColorModel() color.Model
  • func (p *YCbCr) Opaque() bool
  • func (p *YCbCr) SubImage(r Rectangle) Image
  • func (p *YCbCr) YCbCrAt(x, y int) color.YCbCr
  • func (p *YCbCr) YOffset(x, y int) int
  • type YCbCrSubsampleRatio
  • func (s YCbCrSubsampleRatio) String() string

示例

打包

文件包

变量

代码语言:txt
复制
var (
        // 黑色是不透明的黑色均匀图像。
        Black = NewUniform(color.Black)
        // 白色是不透明的白色均匀图像。
        White = NewUniform(color.White)
        // 透明是完全透明的均匀图像。
        Transparent = NewUniform(color.Transparent)
        // 不透明是完全不透明的均匀图像。
        Opaque = NewUniform(color.Opaque)
)

ErrFormat 表示解码遇到未知格式。

代码语言:javascript
复制
var ErrFormat = errors.New("image: unknown format")

func RegisterFormat(查看源代码)

代码语言:javascript
复制
func RegisterFormat(name, magic string, decode func(io.Reader) (Image, error), decodeConfig func(io.Reader) (Config, error))

RegisterFormat 注册一个图像格式供 Decode 使用。名称是格式的名称,如“jpeg”或“png”。magic是识别格式编码的前缀。magic字符串串可以包含“?” 通配符,每个匹配任何一个字节。解码是解码编码图像的功能。DecodeConfig 是只解码其配置的功能。

Alpha 是一个内存中的图像,其 At 方法返回 color.Alpha 值。

代码语言:txt
复制
type Alpha struct {
        // Pix将图像的像素保持为alpha值。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 1]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}
代码语言:javascript
复制
func NewAlpha(r Rectangle) *Alpha

NewAlpha 返回具有给定边界的新 Alpha 图像。

func (*Alpha) AlphaAt(查看源代码)

代码语言:javascript
复制
func (p *Alpha) AlphaAt(x, y int) color.Alpha

func (*Alpha) At(查看源代码)

代码语言:javascript
复制
func (p *Alpha) At(x, y int) color.Color

func (*Alpha) Bounds(查看源代码)

代码语言:javascript
复制
func (p *Alpha) Bounds() Rectangle

func (*Alpha) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *Alpha) ColorModel() color.Model

func (*Alpha) Opaque(查看源代码)

代码语言:javascript
复制
func (p *Alpha) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*Alpha) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *Alpha) PixOffset(x, y int) int

PixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。

func (*Alpha) Set(查看源代码)

代码语言:javascript
复制
func (p *Alpha) Set(x, y int, c color.Color)

func (*Alpha) SetAlpha(查看源代码)

代码语言:javascript
复制
func (p *Alpha) SetAlpha(x, y int, c color.Alpha)

func (*Alpha) SubImage(查看源代码)

代码语言:javascript
复制
func (p *Alpha) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

Alpha16 是一个内存中的图像,其 At 方法返回 color.Alpha16 值。

代码语言:txt
复制
type Alpha16 struct {
        // Pix将图像的像素保存为big-endian格式的alpha值。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 2]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}

func NewAlpha16(查看源代码)

代码语言:javascript
复制
func NewAlpha16(r Rectangle) *Alpha16

NewAlpha16 返回具有给定边界的新 Alpha16 图像。

func (*Alpha16) Alpha16At(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) Alpha16At(x, y int) color.Alpha16

func (*Alpha16) At(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) At(x, y int) color.Color

func (*Alpha16) Bounds(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) Bounds() Rectangle

func (*Alpha16) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) ColorModel() color.Model

func (*Alpha16) Opaque(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*Alpha16) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) PixOffset(x, y int) int

PixOffset 返回对应于(x, y) 处像素的 Pix 的第一个元素的索引。

func (*Alpha16) Set(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) Set(x, y int, c color.Color)

func (*Alpha16) SetAlpha16(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) SetAlpha16(x, y int, c color.Alpha16)

func (*Alpha16) SubImage(查看源代码)

代码语言:javascript
复制
func (p *Alpha16) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

CMYK 是一个内存中的图像,其 At 方法返回 color.CMYK 值。

代码语言:txt
复制
type CMYK struct {
        // Pix以C,M,Y,K顺序保存图像的像素。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 4]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}
代码语言:javascript
复制
func NewCMYK(r Rectangle) *CMYK

NewCMYK 返回具有给定边界的新 CMYK 图像。

func (*CMYK) At(查看源代码)

代码语言:javascript
复制
func (p *CMYK) At(x, y int) color.Color

func (*CMYK) Bounds(查看源代码)

代码语言:javascript
复制
func (p *CMYK) Bounds() Rectangle

func (*CMYK) CMYKAt(查看源代码)

代码语言:javascript
复制
func (p *CMYK) CMYKAt(x, y int) color.CMYK

func (*CMYK) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *CMYK) ColorModel() color.Model

func (*CMYK) Opaque(查看源代码)

代码语言:javascript
复制
func (p *CMYK) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*CMYK) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *CMYK) PixOffset(x, y int) int

PixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。

func (*CMYK) Set(查看源代码)

代码语言:javascript
复制
func (p *CMYK) Set(x, y int, c color.Color)

func (*CMYK) SetCMYK(查看源代码)

代码语言:javascript
复制
func (p *CMYK) SetCMYK(x, y int, c color.CMYK)

func (*CMYK) SubImage(查看源代码)

代码语言:javascript
复制
func (p *CMYK) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

配置保存图像的颜色模型和尺寸。

代码语言:javascript
复制
type Config struct {
        ColorModel    color.Model
        Width, Height int
}

func DecodeConfig(查看源代码)

代码语言:javascript
复制
func DecodeConfig(r io.Reader) (Config, string, error)

DecodeConfig 解码以注册格式编码的图像的颜色模型和尺寸。返回的字符串是格式注册时使用的格式名称。格式注册通常由编解码器专用包中的 init 函数完成。

Gray 是一个内存中的图像,其 At 方法返回 color.Gray 值。

代码语言:txt
复制
type Gray struct {
        // Pix将图像的像素保持为灰度值。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 1]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}
代码语言:javascript
复制
func NewGray(r Rectangle) *Gray

NewGray 返回给定范围的新灰度图像。

func (*Gray) At(查看源代码)

代码语言:javascript
复制
func (p *Gray) At(x, y int) color.Color

func (*Gray) Bounds(查看源代码)

代码语言:javascript
复制
func (p *Gray) Bounds() Rectangle

func (*Gray) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *Gray) ColorModel() color.Model

func (*Gray) GrayAt(查看源代码)

代码语言:javascript
复制
func (p *Gray) GrayAt(x, y int) color.Gray

func (*Gray) Opaque(查看源代码)

代码语言:javascript
复制
func (p *Gray) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*Gray) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *Gray) PixOffset(x, y int) int

PixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。

func (*Gray) Set(查看源代码)

代码语言:javascript
复制
func (p *Gray) Set(x, y int, c color.Color)

func (*Gray) SetGray(查看源代码)

代码语言:javascript
复制
func (p *Gray) SetGray(x, y int, c color.Gray)

func (*Gray) SubImage(查看源代码)

代码语言:javascript
复制
func (p *Gray) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

Gray16 是一个内存中的图像,其 At 方法返回 color.Gray16 值。

代码语言:txt
复制
type Gray16 struct {
        // Pix将图像的像素保存为big-endian格式的灰度值。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 2]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}

func NewGray16(查看源代码)

代码语言:javascript
复制
func NewGray16(r Rectangle) *Gray16

NewGray16 返回一个具有给定边界的新的 Gray16 图像。

func (*Gray16) At(查看源代码)

代码语言:javascript
复制
func (p *Gray16) At(x, y int) color.Color

func (*Gray16) Bounds(查看源代码)

代码语言:javascript
复制
func (p *Gray16) Bounds() Rectangle

func (*Gray16) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *Gray16) ColorModel() color.Model

func (*Gray16) Gray16At(查看源代码)

代码语言:javascript
复制
func (p *Gray16) Gray16At(x, y int) color.Gray16

func (*Gray16) Opaque(查看源代码)

代码语言:javascript
复制
func (p *Gray16) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*Gray16) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *Gray16) PixOffset(x, y int) int

PixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。

func (*Gray16) Set(查看源代码)

代码语言:javascript
复制
func (p *Gray16) Set(x, y int, c color.Color)

func (*Gray16) SetGray16(查看源代码)

代码语言:javascript
复制
func (p *Gray16) SetGray16(x, y int, c color.Gray16)

func (*Gray16) SubImage(查看源代码)

代码语言:javascript
复制
func (p *Gray16) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

图像是颜色的有限长方形网格。颜色值取自颜色模型。

代码语言:txt
复制
type Image interface {
        // ColorModel返回Image的颜色模型。
        ColorModel() color.Model
        // Bounds返回At可以返回非零颜色的域。
        // 边界不一定包含点(0,0)。
        Bounds() Rectangle
        // 返回(x,y)处像素的颜色。
        // 在(Bounds().Min.X, Bounds().Min.Y)返回网格的左上角像素。
        // 在(Bounds().Max.X-1, Bounds().Max.Y-1) 返回右下角。
        At(x, y int) color.Color
}
代码语言:javascript
复制
func Decode(r io.Reader) (Image, string, error)

Decode 解码已经以注册格式编码的图像。返回的字符串是格式注册时使用的格式名称。格式注册通常由代码专用包中的初始化函数完成。

NRGBA 是一个内存中的图像,其 At 方法返回 color.NRGBA 值。

代码语言:txt
复制
type NRGBA struct {
        // Pix以R,G,B,A顺序保存图像的像素。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 4]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}
代码语言:javascript
复制
func NewNRGBA(r Rectangle) *NRGBA

NewNRGBA 返回具有给定范围的新 NRGBA 图像。

func (*NRGBA) At(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) At(x, y int) color.Color

func (*NRGBA) Bounds(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) Bounds() Rectangle

func (*NRGBA) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) ColorModel() color.Model

func (*NRGBA) NRGBAAt(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) NRGBAAt(x, y int) color.NRGBA

func (*NRGBA) Opaque(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*NRGBA) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) PixOffset(x, y int) int

PixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。

func (*NRGBA) Set(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) Set(x, y int, c color.Color)

func (*NRGBA) SetNRGBA(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) SetNRGBA(x, y int, c color.NRGBA)

func (*NRGBA) SubImage(查看源代码)

代码语言:javascript
复制
func (p *NRGBA) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

NRGBA64 是一个内存中的图像,其 At 方法返回 color.NRGBA64 值。

代码语言:txt
复制
type NRGBA64 struct {
        // Pix以R,G,B,A顺序和big-endian格式保存图像的像素。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 8]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}

func NewNRGBA64(查看源代码)

代码语言:javascript
复制
func NewNRGBA64(r Rectangle) *NRGBA64

NewNRGBA64 返回具有给定边界的新 NRGBA64 图像。

func (*NRGBA64) At(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) At(x, y int) color.Color

func (*NRGBA64) Bounds(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) Bounds() Rectangle

func (*NRGBA64) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) ColorModel() color.Model

func (*NRGBA64) NRGBA64At(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) NRGBA64At(x, y int) color.NRGBA64

func (*NRGBA64) Opaque(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*NRGBA64) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) PixOffset(x, y int) int

PixOffset 返回 Pix 的第一个元素的索引,该索引对应于 (x, y) 处的像素。

func (*NRGBA64) Set(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) Set(x, y int, c color.Color)

func (*NRGBA64) SetNRGBA64(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) SetNRGBA64(x, y int, c color.NRGBA64)

func (*NRGBA64) SubImage(查看源代码)

代码语言:javascript
复制
func (p *NRGBA64) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

NYCbCrA 是非 alpha 预乘 Y'CbCr-alpha 颜色的内存映像。A 和 AStride 类似于嵌入式 YCbCr 的 Y 和 YStride 字段。

代码语言:javascript
复制
type NYCbCrA struct {
        YCbCr
        A       []uint8
        AStride int
}

func NewNYCbCrA(查看源代码)

代码语言:javascript
复制
func NewNYCbCrA(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *NYCbCrA

NewNYCbCrA 返回具有给定边界和子采样比率的新 NYCbCrA 图像。

func (*NYCbCrA) AOffset(查看源代码)

代码语言:javascript
复制
func (p *NYCbCrA) AOffset(x, y int) int

AOffset 返回对应于 (x, y) 处像素的 A 的第一个元素的索引。

func (*NYCbCrA) At(查看源代码)

代码语言:javascript
复制
func (p *NYCbCrA) At(x, y int) color.Color

func (*NYCbCrA) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *NYCbCrA) ColorModel() color.Model

func (*NYCbCrA) NYCbCrAAt(查看源代码)

代码语言:javascript
复制
func (p *NYCbCrA) NYCbCrAAt(x, y int) color.NYCbCrA

func (*NYCbCrA) Opaque(查看源代码)

代码语言:javascript
复制
func (p *NYCbCrA) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*NYCbCrA) SubImage(查看源代码)

代码语言:javascript
复制
func (p *NYCbCrA) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

Paletted 是指定调色板中 uint8 索引的内存映像。

代码语言:txt
复制
type Paletted struct {
        // Pix将图像的像素保存为调色板索引。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 1]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
        // 调色板是图像的调色板。
        Palette color.Palette
}

func NewPaletted(查看源代码)

代码语言:javascript
复制
func NewPaletted(r Rectangle, p color.Palette) *Paletted

NewPaletted 用给定的宽度,高度和调色板返回一个新的 Paletted 图像。

func (*Paletted) At(查看源代码)

代码语言:javascript
复制
func (p *Paletted) At(x, y int) color.Color

func (*Paletted) Bounds(查看源代码)

代码语言:javascript
复制
func (p *Paletted) Bounds() Rectangle

func (*Paletted) ColorIndexAt(查看源代码)

代码语言:javascript
复制
func (p *Paletted) ColorIndexAt(x, y int) uint8

func (*Paletted) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *Paletted) ColorModel() color.Model

func (*Paletted) Opaque(查看源代码)

代码语言:javascript
复制
func (p *Paletted) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*Paletted) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *Paletted) PixOffset(x, y int) int

PixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。

func (*Paletted) Set(查看源代码)

代码语言:javascript
复制
func (p *Paletted) Set(x, y int, c color.Color)

func (*Paletted) SetColorIndex(查看源代码)

代码语言:javascript
复制
func (p *Paletted) SetColorIndex(x, y int, index uint8)

func (*Paletted) SubImage(查看源代码)

代码语言:javascript
复制
func (p *Paletted) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

type PalettedImage(查看源代码)

PalettedImage 是一种图像,其颜色可能来自有限的调色板。如果 m 是 PalettedImage并且 m.ColorModel() 返回一个 color.Palette p,则 m.At(x,y) 应该等于pm.ColorIndexAt(x,y) 。如果 m 的颜色模型不是 color.Palette,那么 ColorIndexAt 的行为是未定义的。

代码语言:txt
复制
type PalettedImage interface {
        // ColorIndexAt返回(x,y)处像素的调色板索引。
        ColorIndexAt(x, y int) uint8
        Image
}

一个点是一个 X,Y 坐标对。轴向右和向下增加。

代码语言:javascript
复制
type Point struct {
        X, Y int
}

ZP是零点。

代码语言:javascript
复制
var ZP Point
代码语言:javascript
复制
func Pt(X, Y int) Point

Pt是Point {X,Y}的简写。

func (Point) Add(查看源代码)

代码语言:javascript
复制
func (p Point) Add(q Point) Point

添加返回向量 p+q。

func (Point) Div(查看源代码)

代码语言:javascript
复制
func (p Point) Div(k int) Point

Div返回向量 p/k。

func (Point) Eq(查看源代码)

代码语言:javascript
复制
func (p Point) Eq(q Point) bool

Eq 报告 p 和 q 是否相等。

func (Point) In(查看源代码)

代码语言:javascript
复制
func (p Point) In(r Rectangle) bool

在报告中 p 是否在 r 中。

func (Point) Mod(查看源代码)

代码语言:javascript
复制
func (p Point) Mod(r Rectangle) Point

Mod 返回 r 中的点 q,使得 p.X-q.X 是 r 的宽度的倍数,并且 p.Y-q.Y 是 r 的高度的倍数。

func (Point) Mul(查看源代码)

代码语言:javascript
复制
func (p Point) Mul(k int) Point

Mul 返回向量 p*k。

func (Point) String(查看源代码)

代码语言:javascript
复制
func (p Point) String() string

String返回p的字符串表示形式,如“(3,4)”。

func (Point) Sub(查看源代码)

代码语言:javascript
复制
func (p Point) Sub(q Point) Point

Sub 返回向量 pq。

RGBA 是一个内存中的图像,其 At 方法返回 color.RGBA 值。

代码语言:txt
复制
type RGBA struct {
        // Pix以R,G,B,A顺序保存图像的像素。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 4]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}
代码语言:javascript
复制
func NewRGBA(r Rectangle) *RGBA

NewRGBA 返回具有给定边界的新 RGBA 图像。

func (*RGBA) At(查看源代码)

代码语言:javascript
复制
func (p *RGBA) At(x, y int) color.Color

func (*RGBA) Bounds(查看源代码)

代码语言:javascript
复制
func (p *RGBA) Bounds() Rectangle

func (*RGBA) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *RGBA) ColorModel() color.Model

func (*RGBA) Opaque(查看源代码)

代码语言:javascript
复制
func (p *RGBA) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*RGBA) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *RGBA) PixOffset(x, y int) int

PixOffset 返回对应于 (x,y) 处像素的 Pix 的第一个元素的索引。

func (*RGBA) RGBAAt(查看源代码)

代码语言:javascript
复制
func (p *RGBA) RGBAAt(x, y int) color.RGBA

func (*RGBA) Set(查看源代码)

代码语言:javascript
复制
func (p *RGBA) Set(x, y int, c color.Color)

func (*RGBA) SetRGBA(查看源代码)

代码语言:javascript
复制
func (p *RGBA) SetRGBA(x, y int, c color.RGBA)

func (*RGBA) SubImage(查看源代码)

代码语言:javascript
复制
func (p *RGBA) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

RGBA64 是一个内存中的图像,其 At 方法返回 color.RGBA64 值。

代码语言:txt
复制
type RGBA64 struct {
        // Pix以R,G,B,A顺序和big-endian格式保存图像的像素。 像素在
        // (x,y)从Pix [(y-Rect.Min.Y)* Stride +(x-Rect.Min.X)* 8]开始。
        Pix []uint8
        // Stride是垂直相邻像素之间的Pix步幅(以字节为单位)。
        Stride int
        // Rect是图像的边界。
        Rect Rectangle
}

func NewRGBA64(查看源代码)

代码语言:javascript
复制
func NewRGBA64(r Rectangle) *RGBA64

NewRGBA64 返回具有给定边界的新 RGBA64 图像。

func (*RGBA64) At(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) At(x, y int) color.Color

func (*RGBA64) Bounds(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) Bounds() Rectangle

func (*RGBA64) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) ColorModel() color.Model

func (*RGBA64) Opaque(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) Opaque() bool

不透明扫描整个图像并报告它是否完全不透明。

func (*RGBA64) PixOffset(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) PixOffset(x, y int) int

PixOffset 返回对应于 (x,y) 处像素的 Pix 的第一个元素的索引。

func (*RGBA64) RGBA64At(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) RGBA64At(x, y int) color.RGBA64

func (*RGBA64) Set(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) Set(x, y int, c color.Color)

func (*RGBA64) SetRGBA64(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) SetRGBA64(x, y int, c color.RGBA64)

func (*RGBA64) SubImage(查看源代码)

代码语言:javascript
复制
func (p *RGBA64) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

type Rectangle(查看源代码)

矩形包含 Min.X <= X <Max.X,Min.Y <= Y <Max.Y 的点。如果 Min.X <= Max.X,并且对于 Y 也是一样,那么它是良构的。点总是良构的。矩形的方法总是为格式良好的输入返回格式良好的输出。

矩形也是一个图像,其边界是矩形本身。返回 color.Opaque 矩形和颜色中的点,否则返回透明。

代码语言:javascript
复制
type Rectangle struct {
        Min, Max Point
}

ZR是零矩形。

代码语言:javascript
复制
var ZR Rectangle
代码语言:javascript
复制
func Rect(x0, y0, x1, y1 int) Rectangle

Rect 是矩形 {Pt(x0, y0), Pt(x1, y1)} 的简写。如果需要,返回的矩形将交换最小和最大坐标,以使其格式良好。

func (Rectangle) Add(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Add(p Point) Rectangle

Add 返回由 p 翻译的矩形 r。

func (Rectangle) At(查看源代码)

代码语言:javascript
复制
func (r Rectangle) At(x, y int) color.Color

At 实现 Image 界面。

func (Rectangle) Bounds(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Bounds() Rectangle

Bounds实现了图像界面。

func (Rectangle) Canon(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Canon() Rectangle

Canon返回r的规范版本。如果需要,返回的矩形将交换最小和最大坐标,以使其格式良好。

func (Rectangle) ColorModel(查看源代码)

代码语言:javascript
复制
func (r Rectangle) ColorModel() color.Model

ColorModel 实现了 Image 界面。

func (Rectangle) Dx(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Dx() int

Dx 返回 r 的宽度。

func (Rectangle) Dy(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Dy() int

Dy 返回 r 的高度。

func (Rectangle) Empty(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Empty() bool

空报告矩形是否不包含点。

func (Rectangle) Eq(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Eq(s Rectangle) bool

Eq 报告 r 和 s 是否包含相同的一组点。所有空矩形都被认为是相等的。

func (Rectangle) In(查看源代码)

代码语言:javascript
复制
func (r Rectangle) In(s Rectangle) bool

In 报告 r 中的每个点是否在 s 中。

func (Rectangle) Inset(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Inset(n int) Rectangle

Inset 返回 n 的矩形 r,这可能是负数。如果 r的任何一个维度小于2*n,则 r 中心附近的空矩形将被返回。

func (Rectangle) Intersect(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Intersect(s Rectangle) Rectangle

Intersect 返回 r 和 s 所包含的最大矩形。如果两个矩形不重叠,则返回零矩形。

func (Rectangle) Overlaps(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Overlaps(s Rectangle) bool

Overlaps 报告 r 和 s 是否有非空的相交。

func (Rectangle) Size(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Size() Point

Size 返回 r 的宽度和高度。

func (Rectangle) String(查看源代码)

代码语言:javascript
复制
func (r Rectangle) String() string

字符串返回r的字符串表示形式,如“(3,4)-(6,5)”。

func (Rectangle) Sub(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Sub(p Point) Rectangle

Sub 返回由 -p 转换的矩形 r。

func (Rectangle) Union(查看源代码)

代码语言:javascript
复制
func (r Rectangle) Union(s Rectangle) Rectangle

Union 返回包含 r 和 s 的最小矩形。

Uniform 是统一颜色的无限大小的图像。它实现了 color.Color,color.Model 和 Image 接口。

代码语言:javascript
复制
type Uniform struct {
        C color.Color
}

func NewUniform(查看源代码)

代码语言:javascript
复制
func NewUniform(c color.Color) *Uniform

func (*Uniform) At(查看源代码)

代码语言:javascript
复制
func (c *Uniform) At(x, y int) color.Color

func (*Uniform) Bounds(查看源代码)

代码语言:javascript
复制
func (c *Uniform) Bounds() Rectangle

func (*Uniform) ColorModel(查看源代码)

代码语言:javascript
复制
func (c *Uniform) ColorModel() color.Model

func (*Uniform) Convert(查看源代码)

代码语言:javascript
复制
func (c *Uniform) Convert(color.Color) color.Color

func (*Uniform) Opaque(查看源代码)

代码语言:javascript
复制
func (c *Uniform) Opaque() bool

Opaque 扫描整个图像并报告它是否完全不透明。

func (*Uniform) RGBA(查看源代码)

代码语言:javascript
复制
func (c *Uniform) RGBA() (r, g, b, a uint32)

YCbCr 是 Y'CbCr 颜色的内存映像。每像素有一个 Y 采样,但每个 Cb 和 Cr 采样可以跨越一个或多个像素。YStride 是垂直相邻像素之间的 Y 切片索引增量。CStride 是映射到分离色度样本的垂直相邻像素之间的 Cb 和 Cr 切片索引增量。这不是绝对的要求,但 YStride 和 len(Y) 通常是8的倍数,并且:

代码语言:javascript
复制
For 4:4:4, CStride == YStride/1 && len(Cb) == len(Cr) == len(Y)/1.
For 4:2:2, CStride == YStride/2 && len(Cb) == len(Cr) == len(Y)/2.
For 4:2:0, CStride == YStride/2 && len(Cb) == len(Cr) == len(Y)/4.
For 4:4:0, CStride == YStride/1 && len(Cb) == len(Cr) == len(Y)/2.
For 4:1:1, CStride == YStride/4 && len(Cb) == len(Cr) == len(Y)/4.
For 4:1:0, CStride == YStride/4 && len(Cb) == len(Cr) == len(Y)/8.
代码语言:javascript
复制
type YCbCr struct {
        Y, Cb, Cr      []uint8
        YStride        int
        CStride        int
        SubsampleRatio YCbCrSubsampleRatio
        Rect           Rectangle
}
代码语言:javascript
复制
func NewYCbCr(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *YCbCr

NewYCbCr 返回具有给定边界和子采样比率的新 YCbCr 图像。

func (*YCbCr) At(查看源代码)

代码语言:javascript
复制
func (p *YCbCr) At(x, y int) color.Color

func (*YCbCr) Bounds(查看源代码)

代码语言:javascript
复制
func (p *YCbCr) Bounds() Rectangle

func (*YCbCr) COffset(查看源代码)

代码语言:javascript
复制
func (p *YCbCr) COffset(x, y int) int

COffset 返回对应于 (x,y) 处像素的 Cb 或 Cr 的第一个元素的索引。

func (*YCbCr) ColorModel(查看源代码)

代码语言:javascript
复制
func (p *YCbCr) ColorModel() color.Model

func (*YCbCr) Opaque(查看源代码)

代码语言:javascript
复制
func (p *YCbCr) Opaque() bool

func (*YCbCr) SubImage(查看源代码)

代码语言:javascript
复制
func (p *YCbCr) SubImage(r Rectangle) Image

SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。

func (*YCbCr) YCbCrAt(查看源代码)

代码语言:javascript
复制
func (p *YCbCr) YCbCrAt(x, y int) color.YCbCr

func (*YCbCr) YOffset(查看源代码)

代码语言:javascript
复制
func (p *YCbCr) YOffset(x, y int) int

YOffset 返回对应于 (x,y) 处像素的 Y 的第一个元素的索引。

type YCbCrSubsampleRatio(查看源代码)

YCbCrSubsampleRatio 是 YCbCr 图像中使用的色度子采样比率。

代码语言:javascript
复制
type YCbCrSubsampleRatio int
代码语言:javascript
复制
const (
        YCbCrSubsampleRatio444 YCbCrSubsampleRatio = iota
        YCbCrSubsampleRatio422
        YCbCrSubsampleRatio420
        YCbCrSubsampleRatio440
        YCbCrSubsampleRatio411
        YCbCrSubsampleRatio410
)

func (YCbCrSubsampleRatio) String(查看源代码)

代码语言:javascript
复制
func (s YCbCrSubsampleRatio) String() string

子目录

Name

Synopsis

color

包装颜色实现了一个基本的颜色库。

palette

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

draw

包提取提供图像合成功能。

gif

包gif实现了一个GIF图像解码器和编码器。

jpeg

包jpeg实现了一个JPEG图像解码器和编码器。

png

包png实现了一个PNG图像解码器和编码器。

扫码关注腾讯云开发者

领取腾讯云代金券