图像 | image
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
示例
打包
文件包
format.go geom.go image.go names.go ycbcr.go
变量
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) *Alpha
NewAlpha 返回具有给定边界的新 Alpha 图像。
func (*Alpha) AlphaAt(查看源代码)
func (p *Alpha) AlphaAt(x, y int) color.Alpha
func (*Alpha) At(查看源代码)
func (p *Alpha) At(x, y int) color.Color
func (*Alpha) Bounds(查看源代码)
func (p *Alpha) Bounds() Rectangle
func (*Alpha) ColorModel(查看源代码)
func (p *Alpha) ColorModel() color.Model
func (*Alpha) Opaque(查看源代码)
func (p *Alpha) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*Alpha) PixOffset(查看源代码)
func (p *Alpha) PixOffset(x, y int) int
PixOffset 返回对应于 (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) Image
SubImage 返回一个图像,表示图像 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) *Alpha16
NewAlpha16 返回具有给定边界的新 Alpha16 图像。
func (*Alpha16) Alpha16At(查看源代码)
func (p *Alpha16) Alpha16At(x, y int) color.Alpha16
func (*Alpha16) At(查看源代码)
func (p *Alpha16) At(x, y int) color.Color
func (*Alpha16) Bounds(查看源代码)
func (p *Alpha16) Bounds() Rectangle
func (*Alpha16) ColorModel(查看源代码)
func (p *Alpha16) ColorModel() color.Model
func (*Alpha16) Opaque(查看源代码)
func (p *Alpha16) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*Alpha16) PixOffset(查看源代码)
func (p *Alpha16) PixOffset(x, y int) int
PixOffset 返回对应于(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) Image
SubImage 返回一个图像,表示图像 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) *CMYK
NewCMYK 返回具有给定边界的新 CMYK 图像。
func (*CMYK) At(查看源代码)
func (p *CMYK) At(x, y int) color.Color
func (*CMYK) Bounds(查看源代码)
func (p *CMYK) Bounds() Rectangle
func (*CMYK) CMYKAt(查看源代码)
func (p *CMYK) CMYKAt(x, y int) color.CMYK
func (*CMYK) ColorModel(查看源代码)
func (p *CMYK) ColorModel() color.Model
func (*CMYK) Opaque(查看源代码)
func (p *CMYK) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*CMYK) PixOffset(查看源代码)
func (p *CMYK) PixOffset(x, y int) int
PixOffset 返回对应于 (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) Image
SubImage 返回一个图像,表示图像 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) *Gray
NewGray 返回给定范围的新灰度图像。
func (*Gray) At(查看源代码)
func (p *Gray) At(x, y int) color.Color
func (*Gray) Bounds(查看源代码)
func (p *Gray) Bounds() Rectangle
func (*Gray) ColorModel(查看源代码)
func (p *Gray) ColorModel() color.Model
func (*Gray) GrayAt(查看源代码)
func (p *Gray) GrayAt(x, y int) color.Gray
func (*Gray) Opaque(查看源代码)
func (p *Gray) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*Gray) PixOffset(查看源代码)
func (p *Gray) PixOffset(x, y int) int
PixOffset 返回对应于 (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) Image
SubImage 返回一个图像,表示图像 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) *Gray16
NewGray16 返回一个具有给定边界的新的 Gray16 图像。
func (*Gray16) At(查看源代码)
func (p *Gray16) At(x, y int) color.Color
func (*Gray16) Bounds(查看源代码)
func (p *Gray16) Bounds() Rectangle
func (*Gray16) ColorModel(查看源代码)
func (p *Gray16) ColorModel() color.Model
func (*Gray16) Gray16At(查看源代码)
func (p *Gray16) Gray16At(x, y int) color.Gray16
func (*Gray16) Opaque(查看源代码)
func (p *Gray16) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*Gray16) PixOffset(查看源代码)
func (p *Gray16) PixOffset(x, y int) int
PixOffset 返回对应于 (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) Image
SubImage 返回一个图像,表示图像 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) *NRGBA
NewNRGBA 返回具有给定范围的新 NRGBA 图像。
func (*NRGBA) At(查看源代码)
func (p *NRGBA) At(x, y int) color.Color
func (*NRGBA) Bounds(查看源代码)
func (p *NRGBA) Bounds() Rectangle
func (*NRGBA) ColorModel(查看源代码)
func (p *NRGBA) ColorModel() color.Model
func (*NRGBA) NRGBAAt(查看源代码)
func (p *NRGBA) NRGBAAt(x, y int) color.NRGBA
func (*NRGBA) Opaque(查看源代码)
func (p *NRGBA) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*NRGBA) PixOffset(查看源代码)
func (p *NRGBA) PixOffset(x, y int) int
PixOffset 返回对应于 (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) Image
SubImage 返回一个图像,表示图像 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) *NRGBA64
NewNRGBA64 返回具有给定边界的新 NRGBA64 图像。
func (*NRGBA64) At(查看源代码)
func (p *NRGBA64) At(x, y int) color.Color
func (*NRGBA64) Bounds(查看源代码)
func (p *NRGBA64) Bounds() Rectangle
func (*NRGBA64) ColorModel(查看源代码)
func (p *NRGBA64) ColorModel() color.Model
func (*NRGBA64) NRGBA64At(查看源代码)
func (p *NRGBA64) NRGBA64At(x, y int) color.NRGBA64
func (*NRGBA64) Opaque(查看源代码)
func (p *NRGBA64) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*NRGBA64) PixOffset(查看源代码)
func (p *NRGBA64) PixOffset(x, y int) int
PixOffset 返回 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) Image
SubImage 返回一个图像,表示图像 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) *NYCbCrA
NewNYCbCrA 返回具有给定边界和子采样比率的新 NYCbCrA 图像。
func (*NYCbCrA) AOffset(查看源代码)
func (p *NYCbCrA) AOffset(x, y int) int
AOffset 返回对应于 (x, y) 处像素的 A 的第一个元素的索引。
func (*NYCbCrA) At(查看源代码)
func (p *NYCbCrA) At(x, y int) color.Color
func (*NYCbCrA) ColorModel(查看源代码)
func (p *NYCbCrA) ColorModel() color.Model
func (*NYCbCrA) NYCbCrAAt(查看源代码)
func (p *NYCbCrA) NYCbCrAAt(x, y int) color.NYCbCrA
func (*NYCbCrA) Opaque(查看源代码)
func (p *NYCbCrA) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*NYCbCrA) SubImage(查看源代码)
func (p *NYCbCrA) SubImage(r Rectangle) Image
SubImage 返回一个图像,表示图像 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) *Paletted
NewPaletted 用给定的宽度,高度和调色板返回一个新的 Paletted 图像。
func (*Paletted) At(查看源代码)
func (p *Paletted) At(x, y int) color.Color
func (*Paletted) Bounds(查看源代码)
func (p *Paletted) Bounds() Rectangle
func (*Paletted) ColorIndexAt(查看源代码)
func (p *Paletted) ColorIndexAt(x, y int) uint8
func (*Paletted) ColorModel(查看源代码)
func (p *Paletted) ColorModel() color.Model
func (*Paletted) Opaque(查看源代码)
func (p *Paletted) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*Paletted) PixOffset(查看源代码)
func (p *Paletted) PixOffset(x, y int) int
PixOffset 返回对应于 (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) 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 的行为是未定义的。
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 Point
func Pt(查看源代码)
func Pt(X, Y int) Point
Pt是Point {X,Y}的简写。
func (Point) Add(查看源代码)
func (p Point) Add(q Point) Point
添加返回向量 p+q。
func (Point) Div(查看源代码)
func (p Point) Div(k int) Point
Div返回向量 p/k。
func (Point) Eq(查看源代码)
func (p Point) Eq(q Point) bool
Eq 报告 p 和 q 是否相等。
func (Point) In(查看源代码)
func (p Point) In(r Rectangle) bool
在报告中 p 是否在 r 中。
func (Point) Mod(查看源代码)
func (p Point) Mod(r Rectangle) Point
Mod 返回 r 中的点 q,使得 p.X-q.X 是 r 的宽度的倍数,并且 p.Y-q.Y 是 r 的高度的倍数。
func (Point) Mul(查看源代码)
func (p Point) Mul(k int) Point
Mul 返回向量 p*k。
func (Point) String(查看源代码)
func (p Point) String() string
String返回p的字符串表示形式,如“(3,4)”。
func (Point) Sub(查看源代码)
func (p Point) Sub(q Point) Point
Sub 返回向量 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) *RGBA
NewRGBA 返回具有给定边界的新 RGBA 图像。
func (*RGBA) At(查看源代码)
func (p *RGBA) At(x, y int) color.Color
func (*RGBA) Bounds(查看源代码)
func (p *RGBA) Bounds() Rectangle
func (*RGBA) ColorModel(查看源代码)
func (p *RGBA) ColorModel() color.Model
func (*RGBA) Opaque(查看源代码)
func (p *RGBA) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*RGBA) PixOffset(查看源代码)
func (p *RGBA) PixOffset(x, y int) int
PixOffset 返回对应于 (x,y) 处像素的 Pix 的第一个元素的索引。
func (*RGBA) RGBAAt(查看源代码)
func (p *RGBA) RGBAAt(x, y int) color.RGBA
func (*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) Image
SubImage 返回一个图像,表示图像 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) *RGBA64
NewRGBA64 返回具有给定边界的新 RGBA64 图像。
func (*RGBA64) At(查看源代码)
func (p *RGBA64) At(x, y int) color.Color
func (*RGBA64) Bounds(查看源代码)
func (p *RGBA64) Bounds() Rectangle
func (*RGBA64) ColorModel(查看源代码)
func (p *RGBA64) ColorModel() color.Model
func (*RGBA64) Opaque(查看源代码)
func (p *RGBA64) Opaque() bool
不透明扫描整个图像并报告它是否完全不透明。
func (*RGBA64) PixOffset(查看源代码)
func (p *RGBA64) PixOffset(x, y int) int
PixOffset 返回对应于 (x,y) 处像素的 Pix 的第一个元素的索引。
func (*RGBA64) RGBA64At(查看源代码)
func (p *RGBA64) RGBA64At(x, y int) color.RGBA64
func (*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) Image
SubImage 返回一个图像,表示图像 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 Rectangle
func Rect(查看源代码)
func Rect(x0, y0, x1, y1 int) Rectangle
Rect 是矩形 {Pt(x0, y0), Pt(x1, y1)} 的简写。如果需要,返回的矩形将交换最小和最大坐标,以使其格式良好。
func (Rectangle) Add(查看源代码)
func (r Rectangle) Add(p Point) Rectangle
Add 返回由 p 翻译的矩形 r。
func (Rectangle) At(查看源代码)
func (r Rectangle) At(x, y int) color.Color
At 实现 Image 界面。
func (Rectangle) Bounds(查看源代码)
func (r Rectangle) Bounds() Rectangle
Bounds实现了图像界面。
func (Rectangle) Canon(查看源代码)
func (r Rectangle) Canon() Rectangle
Canon返回r的规范版本。如果需要,返回的矩形将交换最小和最大坐标,以使其格式良好。
func (Rectangle) ColorModel(查看源代码)
func (r Rectangle) ColorModel() color.Model
ColorModel 实现了 Image 界面。
func (Rectangle) Dx(查看源代码)
func (r Rectangle) Dx() int
Dx 返回 r 的宽度。
func (Rectangle) Dy(查看源代码)
func (r Rectangle) Dy() int
Dy 返回 r 的高度。
func (Rectangle) Empty(查看源代码)
func (r Rectangle) Empty() bool
空报告矩形是否不包含点。
func (Rectangle) Eq(查看源代码)
func (r Rectangle) Eq(s Rectangle) bool
Eq 报告 r 和 s 是否包含相同的一组点。所有空矩形都被认为是相等的。
func (Rectangle) In(查看源代码)
func (r Rectangle) In(s Rectangle) bool
In 报告 r 中的每个点是否在 s 中。
func (Rectangle) Inset(查看源代码)
func (r Rectangle) Inset(n int) Rectangle
Inset 返回 n 的矩形 r,这可能是负数。如果 r的任何一个维度小于2*n,则 r 中心附近的空矩形将被返回。
func (Rectangle) Intersect(查看源代码)
func (r Rectangle) Intersect(s Rectangle) Rectangle
Intersect 返回 r 和 s 所包含的最大矩形。如果两个矩形不重叠,则返回零矩形。
func (Rectangle) Overlaps(查看源代码)
func (r Rectangle) Overlaps(s Rectangle) bool
Overlaps 报告 r 和 s 是否有非空的相交。
func (Rectangle) Size(查看源代码)
func (r Rectangle) Size() Point
Size 返回 r 的宽度和高度。
func (Rectangle) String(查看源代码)
func (r Rectangle) String() string
字符串返回r的字符串表示形式,如“(3,4)-(6,5)”。
func (Rectangle) Sub(查看源代码)
func (r Rectangle) Sub(p Point) Rectangle
Sub 返回由 -p 转换的矩形 r。
func (Rectangle) Union(查看源代码)
func (r Rectangle) Union(s Rectangle) Rectangle
Union 返回包含 r 和 s 的最小矩形。
type Uniform(查看源代码)
Uniform 是统一颜色的无限大小的图像。它实现了 color.Color,color.Model 和 Image 接口。
type Uniform struct {
C color.Color
}
func NewUniform(查看源代码)
func NewUniform(c color.Color) *Uniform
func (*Uniform) At(查看源代码)
func (c *Uniform) At(x, y int) color.Color
func (*Uniform) Bounds(查看源代码)
func (c *Uniform) Bounds() Rectangle
func (*Uniform) ColorModel(查看源代码)
func (c *Uniform) ColorModel() color.Model
func (*Uniform) Convert(查看源代码)
func (c *Uniform) Convert(color.Color) color.Color
func (*Uniform) Opaque(查看源代码)
func (c *Uniform) Opaque() bool
Opaque 扫描整个图像并报告它是否完全不透明。
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) *YCbCr
NewYCbCr 返回具有给定边界和子采样比率的新 YCbCr 图像。
func (*YCbCr) At(查看源代码)
func (p *YCbCr) At(x, y int) color.Color
func (*YCbCr) Bounds(查看源代码)
func (p *YCbCr) Bounds() Rectangle
func (*YCbCr) COffset(查看源代码)
func (p *YCbCr) COffset(x, y int) int
COffset 返回对应于 (x,y) 处像素的 Cb 或 Cr 的第一个元素的索引。
func (*YCbCr) ColorModel(查看源代码)
func (p *YCbCr) ColorModel() color.Model
func (*YCbCr) Opaque(查看源代码)
func (p *YCbCr) Opaque() bool
func (*YCbCr) SubImage(查看源代码)
func (p *YCbCr) SubImage(r Rectangle) Image
SubImage 返回一个图像,表示图像 p 通过 r 可见的部分。返回的值与原始图像共享像素。
func (*YCbCr) YCbCrAt(查看源代码)
func (p *YCbCr) YCbCrAt(x, y int) color.YCbCr
func (*YCbCr) YOffset(查看源代码)
func (p *YCbCr) YOffset(x, y int) int
YOffset 返回对应于 (x,y) 处像素的 Y 的第一个元素的索引。
type YCbCrSubsampleRatio(查看源代码)
YCbCrSubsampleRatio 是 YCbCr 图像中使用的色度子采样比率。
type YCbCrSubsampleRatio int
const (
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图像解码器和编码器。 |