图像 | image
- import "image"
- 概述
- 索引
- 示例
- 子目录
概述
图像包实现了一个基本的二维图像库。
基本界面被称为图像。图像包含图像/颜色包中描述的颜色。
Image 接口的值可以通过调用诸如 NewRGBA 和 NewPaletted 之类的函数来创建,也可以通过在包含 GIF,JPEG或PNG等格式的图像数据的 io.Reader 上调用 Decode 来创建。解码任何特定的图像格式需要预先注册解码器功能。注册通常是自动的,作为初始化格式包的副作用,因此,要解码 PNG 图像,只需要
import _ "image/png"在一个程序的主要包装中。意味着纯粹为了初始化副作用导入一个包。
有关更多详细信息,请参阅“Go图像包”:https://golang.org/doc/articles/image_package.html
示例
// 此示例演示如何解码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
示例
打包
文件包
变量
var (
// 黑色是不透明的黑色均匀图像。
Black = NewUniform(color.Black)
// 白色是不透明的白色均匀图像。
White = NewUniform(color.White)
// 透明是完全透明的均匀图像。
Transparent = NewUniform(color.Transparent)
// 不透明是完全不透明的均匀图像。
Opaque = NewUniform(color.Opaque)
)ErrFormat 表示解码遇到未知格式。
var ErrFormat = errors.New("image: unknown format")func RegisterFormat(查看源代码)
func RegisterFormat(name, magic string, decode func(io.Reader) (Image, error), decodeConfig func(io.Reader) (Config, error))RegisterFormat 注册一个图像格式供 Decode 使用。名称是格式的名称,如“jpeg”或“png”。magic是识别格式编码的前缀。magic字符串串可以包含“?” 通配符,每个匹配任何一个字节。解码是解码编码图像的功能。DecodeConfig 是只解码其配置的功能。
type Alpha(查看源代码)
Alpha 是一个内存中的图像,其 At 方法返回 color.Alpha 值。
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
}func NewAlpha(查看源代码)
func NewAlpha(r Rectangle) *AlphaNewAlpha 返回具有给定边界的新 Alpha 图像。
func (*Alpha) AlphaAt(查看源代码)
func (p *Alpha) AlphaAt(x, y int) color.Alphafunc (*Alpha) At(查看源代码)
func (p *Alpha) At(x, y int) color.Colorfunc (*Alpha) Bounds(查看源代码)
func (p *Alpha) Bounds() Rectanglefunc (*Alpha) ColorModel(查看源代码)
func (p *Alpha) ColorModel() color.Modelfunc (*Alpha) Opaque(查看源代码)
func (p *Alpha) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*Alpha) PixOffset(查看源代码)
func (p *Alpha) PixOffset(x, y int) intPixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。
func (*Alpha) Set(查看源代码)
func (p *Alpha) Set(x, y int, c color.Color)func (*Alpha) SetAlpha(查看源代码)
func (p *Alpha) SetAlpha(x, y int, c color.Alpha)func (*Alpha) SubImage(查看源代码)
func (p *Alpha) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type Alpha16(查看源代码)
Alpha16 是一个内存中的图像,其 At 方法返回 color.Alpha16 值。
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(查看源代码)
func NewAlpha16(r Rectangle) *Alpha16NewAlpha16 返回具有给定边界的新 Alpha16 图像。
func (*Alpha16) Alpha16At(查看源代码)
func (p *Alpha16) Alpha16At(x, y int) color.Alpha16func (*Alpha16) At(查看源代码)
func (p *Alpha16) At(x, y int) color.Colorfunc (*Alpha16) Bounds(查看源代码)
func (p *Alpha16) Bounds() Rectanglefunc (*Alpha16) ColorModel(查看源代码)
func (p *Alpha16) ColorModel() color.Modelfunc (*Alpha16) Opaque(查看源代码)
func (p *Alpha16) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*Alpha16) PixOffset(查看源代码)
func (p *Alpha16) PixOffset(x, y int) intPixOffset 返回对应于(x, y) 处像素的 Pix 的第一个元素的索引。
func (*Alpha16) Set(查看源代码)
func (p *Alpha16) Set(x, y int, c color.Color)func (*Alpha16) SetAlpha16(查看源代码)
func (p *Alpha16) SetAlpha16(x, y int, c color.Alpha16)func (*Alpha16) SubImage(查看源代码)
func (p *Alpha16) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type CMYK(查看源代码)
CMYK 是一个内存中的图像,其 At 方法返回 color.CMYK 值。
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
}func NewCMYK(查看源代码)
func NewCMYK(r Rectangle) *CMYKNewCMYK 返回具有给定边界的新 CMYK 图像。
func (*CMYK) At(查看源代码)
func (p *CMYK) At(x, y int) color.Colorfunc (*CMYK) Bounds(查看源代码)
func (p *CMYK) Bounds() Rectanglefunc (*CMYK) CMYKAt(查看源代码)
func (p *CMYK) CMYKAt(x, y int) color.CMYKfunc (*CMYK) ColorModel(查看源代码)
func (p *CMYK) ColorModel() color.Modelfunc (*CMYK) Opaque(查看源代码)
func (p *CMYK) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*CMYK) PixOffset(查看源代码)
func (p *CMYK) PixOffset(x, y int) intPixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。
func (*CMYK) Set(查看源代码)
func (p *CMYK) Set(x, y int, c color.Color)func (*CMYK) SetCMYK(查看源代码)
func (p *CMYK) SetCMYK(x, y int, c color.CMYK)func (*CMYK) SubImage(查看源代码)
func (p *CMYK) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type Config(查看源代码)
配置保存图像的颜色模型和尺寸。
type Config struct {
ColorModel color.Model
Width, Height int
}func DecodeConfig(查看源代码)
func DecodeConfig(r io.Reader) (Config, string, error)DecodeConfig 解码以注册格式编码的图像的颜色模型和尺寸。返回的字符串是格式注册时使用的格式名称。格式注册通常由编解码器专用包中的 init 函数完成。
type Gray(查看源代码)
Gray 是一个内存中的图像,其 At 方法返回 color.Gray 值。
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
}func NewGray(查看源代码)
func NewGray(r Rectangle) *GrayNewGray 返回给定范围的新灰度图像。
func (*Gray) At(查看源代码)
func (p *Gray) At(x, y int) color.Colorfunc (*Gray) Bounds(查看源代码)
func (p *Gray) Bounds() Rectanglefunc (*Gray) ColorModel(查看源代码)
func (p *Gray) ColorModel() color.Modelfunc (*Gray) GrayAt(查看源代码)
func (p *Gray) GrayAt(x, y int) color.Grayfunc (*Gray) Opaque(查看源代码)
func (p *Gray) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*Gray) PixOffset(查看源代码)
func (p *Gray) PixOffset(x, y int) intPixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。
func (*Gray) Set(查看源代码)
func (p *Gray) Set(x, y int, c color.Color)func (*Gray) SetGray(查看源代码)
func (p *Gray) SetGray(x, y int, c color.Gray)func (*Gray) SubImage(查看源代码)
func (p *Gray) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type Gray16(查看源代码)
Gray16 是一个内存中的图像,其 At 方法返回 color.Gray16 值。
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(查看源代码)
func NewGray16(r Rectangle) *Gray16NewGray16 返回一个具有给定边界的新的 Gray16 图像。
func (*Gray16) At(查看源代码)
func (p *Gray16) At(x, y int) color.Colorfunc (*Gray16) Bounds(查看源代码)
func (p *Gray16) Bounds() Rectanglefunc (*Gray16) ColorModel(查看源代码)
func (p *Gray16) ColorModel() color.Modelfunc (*Gray16) Gray16At(查看源代码)
func (p *Gray16) Gray16At(x, y int) color.Gray16func (*Gray16) Opaque(查看源代码)
func (p *Gray16) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*Gray16) PixOffset(查看源代码)
func (p *Gray16) PixOffset(x, y int) intPixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。
func (*Gray16) Set(查看源代码)
func (p *Gray16) Set(x, y int, c color.Color)func (*Gray16) SetGray16(查看源代码)
func (p *Gray16) SetGray16(x, y int, c color.Gray16)func (*Gray16) SubImage(查看源代码)
func (p *Gray16) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type Image(查看源代码)
图像是颜色的有限长方形网格。颜色值取自颜色模型。
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
}func Decode(查看源代码)
func Decode(r io.Reader) (Image, string, error)Decode 解码已经以注册格式编码的图像。返回的字符串是格式注册时使用的格式名称。格式注册通常由代码专用包中的初始化函数完成。
type NRGBA(查看源代码)
NRGBA 是一个内存中的图像,其 At 方法返回 color.NRGBA 值。
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
}func NewNRGBA(查看源代码)
func NewNRGBA(r Rectangle) *NRGBANewNRGBA 返回具有给定范围的新 NRGBA 图像。
func (*NRGBA) At(查看源代码)
func (p *NRGBA) At(x, y int) color.Colorfunc (*NRGBA) Bounds(查看源代码)
func (p *NRGBA) Bounds() Rectanglefunc (*NRGBA) ColorModel(查看源代码)
func (p *NRGBA) ColorModel() color.Modelfunc (*NRGBA) NRGBAAt(查看源代码)
func (p *NRGBA) NRGBAAt(x, y int) color.NRGBAfunc (*NRGBA) Opaque(查看源代码)
func (p *NRGBA) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*NRGBA) PixOffset(查看源代码)
func (p *NRGBA) PixOffset(x, y int) intPixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。
func (*NRGBA) Set(查看源代码)
func (p *NRGBA) Set(x, y int, c color.Color)func (*NRGBA) SetNRGBA(查看源代码)
func (p *NRGBA) SetNRGBA(x, y int, c color.NRGBA)func (*NRGBA) SubImage(查看源代码)
func (p *NRGBA) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type NRGBA64(查看源代码)
NRGBA64 是一个内存中的图像,其 At 方法返回 color.NRGBA64 值。
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(查看源代码)
func NewNRGBA64(r Rectangle) *NRGBA64NewNRGBA64 返回具有给定边界的新 NRGBA64 图像。
func (*NRGBA64) At(查看源代码)
func (p *NRGBA64) At(x, y int) color.Colorfunc (*NRGBA64) Bounds(查看源代码)
func (p *NRGBA64) Bounds() Rectanglefunc (*NRGBA64) ColorModel(查看源代码)
func (p *NRGBA64) ColorModel() color.Modelfunc (*NRGBA64) NRGBA64At(查看源代码)
func (p *NRGBA64) NRGBA64At(x, y int) color.NRGBA64func (*NRGBA64) Opaque(查看源代码)
func (p *NRGBA64) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*NRGBA64) PixOffset(查看源代码)
func (p *NRGBA64) PixOffset(x, y int) intPixOffset 返回 Pix 的第一个元素的索引,该索引对应于 (x, y) 处的像素。
func (*NRGBA64) Set(查看源代码)
func (p *NRGBA64) Set(x, y int, c color.Color)func (*NRGBA64) SetNRGBA64(查看源代码)
func (p *NRGBA64) SetNRGBA64(x, y int, c color.NRGBA64)func (*NRGBA64) SubImage(查看源代码)
func (p *NRGBA64) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type NYCbCrA(查看源代码)
NYCbCrA 是非 alpha 预乘 Y'CbCr-alpha 颜色的内存映像。A 和 AStride 类似于嵌入式 YCbCr 的 Y 和 YStride 字段。
type NYCbCrA struct {
YCbCr
A []uint8
AStride int
}func NewNYCbCrA(查看源代码)
func NewNYCbCrA(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *NYCbCrANewNYCbCrA 返回具有给定边界和子采样比率的新 NYCbCrA 图像。
func (*NYCbCrA) AOffset(查看源代码)
func (p *NYCbCrA) AOffset(x, y int) intAOffset 返回对应于 (x, y) 处像素的 A 的第一个元素的索引。
func (*NYCbCrA) At(查看源代码)
func (p *NYCbCrA) At(x, y int) color.Colorfunc (*NYCbCrA) ColorModel(查看源代码)
func (p *NYCbCrA) ColorModel() color.Modelfunc (*NYCbCrA) NYCbCrAAt(查看源代码)
func (p *NYCbCrA) NYCbCrAAt(x, y int) color.NYCbCrAfunc (*NYCbCrA) Opaque(查看源代码)
func (p *NYCbCrA) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*NYCbCrA) SubImage(查看源代码)
func (p *NYCbCrA) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type Paletted(查看源代码)
Paletted 是指定调色板中 uint8 索引的内存映像。
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(查看源代码)
func NewPaletted(r Rectangle, p color.Palette) *PalettedNewPaletted 用给定的宽度,高度和调色板返回一个新的 Paletted 图像。
func (*Paletted) At(查看源代码)
func (p *Paletted) At(x, y int) color.Colorfunc (*Paletted) Bounds(查看源代码)
func (p *Paletted) Bounds() Rectanglefunc (*Paletted) ColorIndexAt(查看源代码)
func (p *Paletted) ColorIndexAt(x, y int) uint8func (*Paletted) ColorModel(查看源代码)
func (p *Paletted) ColorModel() color.Modelfunc (*Paletted) Opaque(查看源代码)
func (p *Paletted) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*Paletted) PixOffset(查看源代码)
func (p *Paletted) PixOffset(x, y int) intPixOffset 返回对应于 (x, y) 处像素的 Pix 的第一个元素的索引。
func (*Paletted) Set(查看源代码)
func (p *Paletted) Set(x, y int, c color.Color)func (*Paletted) SetColorIndex(查看源代码)
func (p *Paletted) SetColorIndex(x, y int, index uint8)func (*Paletted) SubImage(查看源代码)
func (p *Paletted) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type PalettedImage(查看源代码)
PalettedImage 是一种图像,其颜色可能来自有限的调色板。如果 m 是 PalettedImage并且 m.ColorModel() 返回一个 color.Palette p,则 m.At(x,y) 应该等于pm.ColorIndexAt(x,y) 。如果 m 的颜色模型不是 color.Palette,那么 ColorIndexAt 的行为是未定义的。
type PalettedImage interface {
// ColorIndexAt返回(x,y)处像素的调色板索引。
ColorIndexAt(x, y int) uint8
Image
}type Point(查看源代码)
一个点是一个 X,Y 坐标对。轴向右和向下增加。
type Point struct {
X, Y int
}ZP是零点。
var ZP Pointfunc Pt(查看源代码)
func Pt(X, Y int) PointPt是Point {X,Y}的简写。
func (Point) Add(查看源代码)
func (p Point) Add(q Point) Point添加返回向量 p+q。
func (Point) Div(查看源代码)
func (p Point) Div(k int) PointDiv返回向量 p/k。
func (Point) Eq(查看源代码)
func (p Point) Eq(q Point) boolEq 报告 p 和 q 是否相等。
func (Point) In(查看源代码)
func (p Point) In(r Rectangle) bool在报告中 p 是否在 r 中。
func (Point) Mod(查看源代码)
func (p Point) Mod(r Rectangle) PointMod 返回 r 中的点 q,使得 p.X-q.X 是 r 的宽度的倍数,并且 p.Y-q.Y 是 r 的高度的倍数。
func (Point) Mul(查看源代码)
func (p Point) Mul(k int) PointMul 返回向量 p*k。
func (Point) String(查看源代码)
func (p Point) String() stringString返回p的字符串表示形式,如“(3,4)”。
func (Point) Sub(查看源代码)
func (p Point) Sub(q Point) PointSub 返回向量 pq。
type RGBA(查看源代码)
RGBA 是一个内存中的图像,其 At 方法返回 color.RGBA 值。
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
}func NewRGBA(查看源代码)
func NewRGBA(r Rectangle) *RGBANewRGBA 返回具有给定边界的新 RGBA 图像。
func (*RGBA) At(查看源代码)
func (p *RGBA) At(x, y int) color.Colorfunc (*RGBA) Bounds(查看源代码)
func (p *RGBA) Bounds() Rectanglefunc (*RGBA) ColorModel(查看源代码)
func (p *RGBA) ColorModel() color.Modelfunc (*RGBA) Opaque(查看源代码)
func (p *RGBA) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*RGBA) PixOffset(查看源代码)
func (p *RGBA) PixOffset(x, y int) intPixOffset 返回对应于 (x,y) 处像素的 Pix 的第一个元素的索引。
func (*RGBA) RGBAAt(查看源代码)
func (p *RGBA) RGBAAt(x, y int) color.RGBAfunc (*RGBA) Set(查看源代码)
func (p *RGBA) Set(x, y int, c color.Color)func (*RGBA) SetRGBA(查看源代码)
func (p *RGBA) SetRGBA(x, y int, c color.RGBA)func (*RGBA) SubImage(查看源代码)
func (p *RGBA) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type RGBA64(查看源代码)
RGBA64 是一个内存中的图像,其 At 方法返回 color.RGBA64 值。
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(查看源代码)
func NewRGBA64(r Rectangle) *RGBA64NewRGBA64 返回具有给定边界的新 RGBA64 图像。
func (*RGBA64) At(查看源代码)
func (p *RGBA64) At(x, y int) color.Colorfunc (*RGBA64) Bounds(查看源代码)
func (p *RGBA64) Bounds() Rectanglefunc (*RGBA64) ColorModel(查看源代码)
func (p *RGBA64) ColorModel() color.Modelfunc (*RGBA64) Opaque(查看源代码)
func (p *RGBA64) Opaque() bool不透明扫描整个图像并报告它是否完全不透明。
func (*RGBA64) PixOffset(查看源代码)
func (p *RGBA64) PixOffset(x, y int) intPixOffset 返回对应于 (x,y) 处像素的 Pix 的第一个元素的索引。
func (*RGBA64) RGBA64At(查看源代码)
func (p *RGBA64) RGBA64At(x, y int) color.RGBA64func (*RGBA64) Set(查看源代码)
func (p *RGBA64) Set(x, y int, c color.Color)func (*RGBA64) SetRGBA64(查看源代码)
func (p *RGBA64) SetRGBA64(x, y int, c color.RGBA64)func (*RGBA64) SubImage(查看源代码)
func (p *RGBA64) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
type Rectangle(查看源代码)
矩形包含 Min.X <= X <Max.X,Min.Y <= Y <Max.Y 的点。如果 Min.X <= Max.X,并且对于 Y 也是一样,那么它是良构的。点总是良构的。矩形的方法总是为格式良好的输入返回格式良好的输出。
矩形也是一个图像,其边界是矩形本身。返回 color.Opaque 矩形和颜色中的点,否则返回透明。
type Rectangle struct {
Min, Max Point
}ZR是零矩形。
var ZR Rectanglefunc Rect(查看源代码)
func Rect(x0, y0, x1, y1 int) RectangleRect 是矩形 {Pt(x0, y0), Pt(x1, y1)} 的简写。如果需要,返回的矩形将交换最小和最大坐标,以使其格式良好。
func (Rectangle) Add(查看源代码)
func (r Rectangle) Add(p Point) RectangleAdd 返回由 p 翻译的矩形 r。
func (Rectangle) At(查看源代码)
func (r Rectangle) At(x, y int) color.ColorAt 实现 Image 界面。
func (Rectangle) Bounds(查看源代码)
func (r Rectangle) Bounds() RectangleBounds实现了图像界面。
func (Rectangle) Canon(查看源代码)
func (r Rectangle) Canon() RectangleCanon返回r的规范版本。如果需要,返回的矩形将交换最小和最大坐标,以使其格式良好。
func (Rectangle) ColorModel(查看源代码)
func (r Rectangle) ColorModel() color.ModelColorModel 实现了 Image 界面。
func (Rectangle) Dx(查看源代码)
func (r Rectangle) Dx() intDx 返回 r 的宽度。
func (Rectangle) Dy(查看源代码)
func (r Rectangle) Dy() intDy 返回 r 的高度。
func (Rectangle) Empty(查看源代码)
func (r Rectangle) Empty() bool空报告矩形是否不包含点。
func (Rectangle) Eq(查看源代码)
func (r Rectangle) Eq(s Rectangle) boolEq 报告 r 和 s 是否包含相同的一组点。所有空矩形都被认为是相等的。
func (Rectangle) In(查看源代码)
func (r Rectangle) In(s Rectangle) boolIn 报告 r 中的每个点是否在 s 中。
func (Rectangle) Inset(查看源代码)
func (r Rectangle) Inset(n int) RectangleInset 返回 n 的矩形 r,这可能是负数。如果 r的任何一个维度小于2*n,则 r 中心附近的空矩形将被返回。
func (Rectangle) Intersect(查看源代码)
func (r Rectangle) Intersect(s Rectangle) RectangleIntersect 返回 r 和 s 所包含的最大矩形。如果两个矩形不重叠,则返回零矩形。
func (Rectangle) Overlaps(查看源代码)
func (r Rectangle) Overlaps(s Rectangle) boolOverlaps 报告 r 和 s 是否有非空的相交。
func (Rectangle) Size(查看源代码)
func (r Rectangle) Size() PointSize 返回 r 的宽度和高度。
func (Rectangle) String(查看源代码)
func (r Rectangle) String() string字符串返回r的字符串表示形式,如“(3,4)-(6,5)”。
func (Rectangle) Sub(查看源代码)
func (r Rectangle) Sub(p Point) RectangleSub 返回由 -p 转换的矩形 r。
func (Rectangle) Union(查看源代码)
func (r Rectangle) Union(s Rectangle) RectangleUnion 返回包含 r 和 s 的最小矩形。
type Uniform(查看源代码)
Uniform 是统一颜色的无限大小的图像。它实现了 color.Color,color.Model 和 Image 接口。
type Uniform struct {
C color.Color
}func NewUniform(查看源代码)
func NewUniform(c color.Color) *Uniformfunc (*Uniform) At(查看源代码)
func (c *Uniform) At(x, y int) color.Colorfunc (*Uniform) Bounds(查看源代码)
func (c *Uniform) Bounds() Rectanglefunc (*Uniform) ColorModel(查看源代码)
func (c *Uniform) ColorModel() color.Modelfunc (*Uniform) Convert(查看源代码)
func (c *Uniform) Convert(color.Color) color.Colorfunc (*Uniform) Opaque(查看源代码)
func (c *Uniform) Opaque() boolOpaque 扫描整个图像并报告它是否完全不透明。
func (*Uniform) RGBA(查看源代码)
func (c *Uniform) RGBA() (r, g, b, a uint32)type YCbCr(查看源代码)
YCbCr 是 Y'CbCr 颜色的内存映像。每像素有一个 Y 采样,但每个 Cb 和 Cr 采样可以跨越一个或多个像素。YStride 是垂直相邻像素之间的 Y 切片索引增量。CStride 是映射到分离色度样本的垂直相邻像素之间的 Cb 和 Cr 切片索引增量。这不是绝对的要求,但 YStride 和 len(Y) 通常是8的倍数,并且:
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.type YCbCr struct {
Y, Cb, Cr []uint8
YStride int
CStride int
SubsampleRatio YCbCrSubsampleRatio
Rect Rectangle
}func NewYCbCr(查看源代码)
func NewYCbCr(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *YCbCrNewYCbCr 返回具有给定边界和子采样比率的新 YCbCr 图像。
func (*YCbCr) At(查看源代码)
func (p *YCbCr) At(x, y int) color.Colorfunc (*YCbCr) Bounds(查看源代码)
func (p *YCbCr) Bounds() Rectanglefunc (*YCbCr) COffset(查看源代码)
func (p *YCbCr) COffset(x, y int) intCOffset 返回对应于 (x,y) 处像素的 Cb 或 Cr 的第一个元素的索引。
func (*YCbCr) ColorModel(查看源代码)
func (p *YCbCr) ColorModel() color.Modelfunc (*YCbCr) Opaque(查看源代码)
func (p *YCbCr) Opaque() boolfunc (*YCbCr) SubImage(查看源代码)
func (p *YCbCr) SubImage(r Rectangle) ImageSubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
func (*YCbCr) YCbCrAt(查看源代码)
func (p *YCbCr) YCbCrAt(x, y int) color.YCbCrfunc (*YCbCr) YOffset(查看源代码)
func (p *YCbCr) YOffset(x, y int) intYOffset 返回对应于 (x,y) 处像素的 Y 的第一个元素的索引。
type YCbCrSubsampleRatio(查看源代码)
YCbCrSubsampleRatio 是 YCbCr 图像中使用的色度子采样比率。
type YCbCrSubsampleRatio intconst (
YCbCrSubsampleRatio444 YCbCrSubsampleRatio = iota
YCbCrSubsampleRatio422
YCbCrSubsampleRatio420
YCbCrSubsampleRatio440
YCbCrSubsampleRatio411
YCbCrSubsampleRatio410
)func (YCbCrSubsampleRatio) String(查看源代码)
func (s YCbCrSubsampleRatio) String() string子目录
Name | Synopsis |
|---|---|
color | 包装颜色实现了一个基本的颜色库。 |
palette | 包调色板提供标准调色板。 |
draw | 包提取提供图像合成功能。 |
gif | 包gif实现了一个GIF图像解码器和编码器。 |
jpeg | 包jpeg实现了一个JPEG图像解码器和编码器。 |
png | 包png实现了一个PNG图像解码器和编码器。 |
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com

