目錄 搜尋
archive archive/tar archive/zip bufio bufio(缓存) builtin builtin(内置包) bytes bytes(包字节) compress compress/bzip2(压缩/bzip2) compress/flate(压缩/flate) compress/gzip(压缩/gzip) compress/lzw(压缩/lzw) compress/zlib(压缩/zlib) container container/heap(容器数据结构heap) container/list(容器数据结构list) container/ring(容器数据结构ring) context context(上下文) crypto crypto(加密) crypto/aes(加密/aes) crypto/cipher(加密/cipher) crypto/des(加密/des) crypto/dsa(加密/dsa) crypto/ecdsa(加密/ecdsa) crypto/elliptic(加密/elliptic) crypto/hmac(加密/hmac) crypto/md5(加密/md5) crypto/rand(加密/rand) crypto/rc4(加密/rc4) crypto/rsa(加密/rsa) crypto/sha1(加密/sha1) crypto/sha256(加密/sha256) crypto/sha512(加密/sha512) crypto/subtle(加密/subtle) crypto/tls(加密/tls) crypto/x509(加密/x509) crypto/x509/pkix(加密/x509/pkix) database database/sql(数据库/sql) database/sql/driver(数据库/sql/driver) debug debug/dwarf(调试/dwarf) debug/elf(调试/elf) debug/gosym(调试/gosym) debug/macho(调试/macho) debug/pe(调试/pe) debug/plan9obj(调试/plan9obj) encoding encoding(编码) encoding/ascii85(编码/ascii85) encoding/asn1(编码/asn1) encoding/base32(编码/base32) encoding/base64(编码/base64) encoding/binary(编码/binary) encoding/csv(编码/csv) encoding/gob(编码/gob) encoding/hex(编码/hex) encoding/json(编码/json) encoding/pem(编码/pem) encoding/xml(编码/xml) errors errors(错误) expvar expvar flag flag(命令行参数解析flag包) fmt fmt go go/ast(抽象语法树) go/build go/constant(常量) go/doc(文档) go/format(格式) go/importer go/parser go/printer go/scanner(扫描仪) go/token(令牌) go/types(类型) hash hash(散列) hash/adler32 hash/crc32 hash/crc64 hash/fnv html html html/template(模板) image image(图像) image/color(颜色) image/color/palette(调色板) image/draw(绘图) image/gif image/jpeg image/png index index/suffixarray io io io/ioutil log log log/syslog(日志系统) math math math/big math/big math/bits math/bits math/cmplx math/cmplx math/rand math/rand mime mime mime/multipart(多部分) mime/quotedprintable net net net/http net/http net/http/cgi net/http/cookiejar net/http/fcgi net/http/httptest net/http/httptrace net/http/httputil net/http/internal net/http/pprof net/mail net/mail net/rpc net/rpc net/rpc/jsonrpc net/smtp net/smtp net/textproto net/textproto net/url net/url os os os/exec os/signal os/user path path path/filepath(文件路径) plugin plugin(插件) reflect reflect(反射) regexp regexp(正则表达式) regexp/syntax runtime runtime(运行时) runtime/debug(调试) runtime/internal/sys runtime/pprof runtime/race(竞争) runtime/trace(执行追踪器) sort sort(排序算法) strconv strconv(转换) strings strings(字符串) sync sync(同步) sync/atomic(原子操作) syscall syscall(系统调用) testing testing(测试) testing/iotest testing/quick text text/scanner(扫描文本) text/tabwriter text/template(定义模板) text/template/parse time time(时间戳) unicode unicode unicode/utf16 unicode/utf8 unsafe unsafe
文字

  • 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 mainimport ("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]intfor 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 is an opaque black uniform image.
        Black = NewUniform(color.Black)        // White is an opaque white uniform image.
        White = NewUniform(color.White)        // Transparent is a fully transparent uniform image.
        Transparent = NewUniform(color.Transparent)        // Opaque is a fully opaque uniform image.
        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”。魔术是识别格式编码的魔术前缀。魔术串可以包含“?” 通配符,每个匹配任何一个字节。解码是解码编码图像的功能。DecodeConfig 是只解码其配置的功能。

type Alpha

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

type Alpha struct {        // Pix holds the image's pixels, as alpha values. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*1].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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 holds the image's pixels, as alpha values in big-endian format. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*2].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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 holds the image's pixels, in C, M, Y, K order. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*4].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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 holds the image's pixels, as gray values. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*1].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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 可见的部分。返回的值与原始图像共享像素。

键入Gray16

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

type Gray16 struct {        // Pix holds the image's pixels, as gray values in big-endian format. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*2].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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 可见的部分。返回的值与原始图像共享像素。

键入Image

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

type Image interface {        // ColorModel returns the Image's color model.        ColorModel() color.Model        // Bounds returns the domain for which At can return non-zero color.        // The bounds do not necessarily contain the point (0, 0).        Bounds() Rectangle        // At returns the color of the pixel at (x, y).        // At(Bounds().Min.X, Bounds().Min.Y) returns the upper-left pixel of the grid.        // At(Bounds().Max.X-1, Bounds().Max.Y-1) returns the lower-right one.        At(x, y int) color.Color}

func Decode

func Decode(r io.Reader) (Image, string, error)

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

键入NRGBA

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

type NRGBA struct {        // Pix holds the image's pixels, in R, G, B, A order. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*4].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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 可见的部分。返回的值与原始图像共享像素。

键入NRGBA64

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

type NRGBA64 struct {        // Pix holds the image's pixels, in R, G, B, A order and big-endian format. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*8].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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

Opaque scans the entire image and reports whether it is fully opaque.

func (*NRGBA64) PixOffset

func (p *NRGBA64) PixOffset(x, y int) int

PixOffset returns the index of the first element of Pix that corresponds to the pixel at (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 holds the image's pixels, as palette indices. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*1].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        Rect Rectangle        // Palette is the image's palette.
        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 is the zero Point.

var ZP Point

func Pt

func Pt(X, Y int) Point

Pt is shorthand for Point{X, Y}.

func (Point) Add

func (p Point) Add(q Point) Point

Add returns the vector 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,使得pX-qX是r的宽度的倍数,并且pY-qY是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 holds the image's pixels, in R, G, B, A order. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*4].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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 holds the image's pixels, in R, G, B, A order and big-endian format. The pixel at        // (x, y) starts at Pix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*8].
        Pix []uint8        // Stride is the Pix stride (in bytes) between vertically adjacent pixels.
        Stride int        // Rect is the image's bounds.
        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

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图像解码器和编码器。

上一篇: 下一篇: