image

package
v1.21.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package image implements a basic 2-D image library.

The fundamental interface is called Image. An Image contains colors, which are described in the image/color package.

Values of the Image interface are created either by calling functions such as NewRGBA and NewPaletted, or by calling Decode on an io.Reader containing image data in a format such as GIF, JPEG or PNG. Decoding any particular image format requires the prior registration of a decoder function. Registration is typically automatic as a side effect of initializing that format's package so that, to decode a PNG image, it suffices to have

import _ "image/png"

in a program's main package. The _ means to import a package purely for its initialization side effects.

See "The Go image package" for more details: https://golang.org/doc/articles/image_package.html

Example
// 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の赤、緑、青、アルファ成分の16ビンヒストグラムを計算します。
//
// 画像の境界は必ずしも(0, 0)から始まるわけではないので、2つのループは
// bounds.Min.Yとbounds.Min.Xから始まります。Yを最初に、Xを次にループする方が、
// Xを最初に、Yを次にループするよりも、より良いメモリアクセスパターンになる可能性が高いです。
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]に縮小されます。
		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])
}
Output:

bin               red  green   blue  alpha
0x0000-0x0fff:    364    790   7242      0
0x1000-0x1fff:    645   2967   1039      0
0x2000-0x2fff:   1072   2299    979      0
0x3000-0x3fff:    820   2266    980      0
0x4000-0x4fff:    537   1305    541      0
0x5000-0x5fff:    319    962    261      0
0x6000-0x6fff:    322    375    177      0
0x7000-0x7fff:    601    279    214      0
0x8000-0x8fff:   3478    227    273      0
0x9000-0x9fff:   2260    234    329      0
0xa000-0xafff:    921    282    373      0
0xb000-0xbfff:    321    335    397      0
0xc000-0xcfff:    229    388    298      0
0xd000-0xdfff:    260    414    277      0
0xe000-0xefff:    516    428    298      0
0xf000-0xffff:   2785   1899   1772  15450
Example (DecodeConfig)
reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(data))
config, format, err := image.DecodeConfig(reader)
if err != nil {
	log.Fatal(err)
}
fmt.Println("Width:", config.Width, "Height:", config.Height, "Format:", format)
Output:

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	// Blackは、不透明な黒の一様な画像です。
	Black = NewUniform(color.Black)
	// Whiteは、不透明な白の一様な画像です。
	White = NewUniform(color.White)
	// Transparentは、完全に透明な一様な画像です。
	Transparent = NewUniform(color.Transparent)
	// Opaqueは、完全に不透明な一様な画像です。
	Opaque = NewUniform(color.Opaque)
)
View Source
var ErrFormat = errors.New("image: unknown format")

ErrFormatは、デコードが未知のフォーマットに遭遇したことを示します。

Functions

func RegisterFormat

func RegisterFormat(name, magic string, decode func(io.Reader) (Image, error), decodeConfig func(io.Reader) (Config, error))

RegisterFormatは、Decodeによって使用される画像フォーマットを登録します。 Nameはフォーマットの名前で、"jpeg"や"png"のようなものです。 Magicは、フォーマットのエンコーディングを識別するマジックプレフィックスです。マジック 文字列は、それぞれ任意の1バイトにマッチする"?"ワイルドカードを含むことができます。 Decodeは、エンコードされた画像をデコードする関数です。 DecodeConfigは、その設定だけをデコードする関数です。

Types

type Alpha

type Alpha struct {
	// Pixは、画像のピクセルをアルファ値として保持します。ピクセルは
	// (x, y)はPix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*1]で始まります。
	Pix []uint8
	// Strideは、垂直方向の隣接ピクセル間のPixストライド(バイト単位)です。
	Stride int
	// Rectは、画像の境界です。
	Rect Rectangle
}

Alphaは、Atメソッドがcolor.Alpha値を返すインメモリイメージです。

func NewAlpha

func NewAlpha(r Rectangle) *Alpha

NewAlphaは、指定された境界を持つ新しいAlphaイメージを返します。

func (*Alpha) AlphaAt added in v1.4.0

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

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*Alpha) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*Alpha) RGBA64At added in v1.17.0

func (p *Alpha) RGBA64At(x, y int) color.RGBA64

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) SetRGBA64 added in v1.17.0

func (p *Alpha) SetRGBA64(x, y int, c color.RGBA64)

func (*Alpha) SubImage

func (p *Alpha) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type Alpha16

type Alpha16 struct {
	// Pixは、画像のピクセルをアルファ値として、ビッグエンディアン形式で保持します。ピクセルは
	// (x, y)はPix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*2]で始まります。
	Pix []uint8
	// Strideは、垂直方向の隣接ピクセル間のPixストライド(バイト単位)です。
	Stride int
	// Rect is the image's bounds.
	Rect Rectangle
}

Alpha16は、Atメソッドがcolor.Alpha16値を返すインメモリイメージです。

func NewAlpha16

func NewAlpha16(r Rectangle) *Alpha16

NewAlpha16は、指定された境界を持つ新しいAlpha16イメージを返します。

func (*Alpha16) Alpha16At added in v1.4.0

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

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*Alpha16) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*Alpha16) RGBA64At added in v1.17.0

func (p *Alpha16) RGBA64At(x, y int) color.RGBA64

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) SetRGBA64 added in v1.17.0

func (p *Alpha16) SetRGBA64(x, y int, c color.RGBA64)

func (*Alpha16) SubImage

func (p *Alpha16) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type CMYK added in v1.5.0

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
}

CMYKは、Atメソッドがcolor.CMYK値を返すインメモリイメージです。

func NewCMYK added in v1.5.0

func NewCMYK(r Rectangle) *CMYK

NewCMYKは、指定された境界を持つ新しいCMYKイメージを返します。

func (*CMYK) At added in v1.5.0

func (p *CMYK) At(x, y int) color.Color

func (*CMYK) Bounds added in v1.5.0

func (p *CMYK) Bounds() Rectangle

func (*CMYK) CMYKAt added in v1.5.0

func (p *CMYK) CMYKAt(x, y int) color.CMYK

func (*CMYK) ColorModel added in v1.5.0

func (p *CMYK) ColorModel() color.Model

func (*CMYK) Opaque added in v1.5.0

func (p *CMYK) Opaque() bool

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*CMYK) PixOffset added in v1.5.0

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*CMYK) RGBA64At added in v1.17.0

func (p *CMYK) RGBA64At(x, y int) color.RGBA64

func (*CMYK) Set added in v1.5.0

func (p *CMYK) Set(x, y int, c color.Color)

func (*CMYK) SetCMYK added in v1.5.0

func (p *CMYK) SetCMYK(x, y int, c color.CMYK)

func (*CMYK) SetRGBA64 added in v1.17.0

func (p *CMYK) SetRGBA64(x, y int, c color.RGBA64)

func (*CMYK) SubImage added in v1.5.0

func (p *CMYK) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type Config

type Config struct {
	ColorModel    color.Model
	Width, Height int
}

Configは、画像のカラーモデルと寸法を保持します。

func DecodeConfig

func DecodeConfig(r io.Reader) (Config, string, error)

DecodeConfigは、登録されたフォーマットでエンコードされた画像のカラーモデルと寸法をデコードします。 返される文字列は、フォーマット登録時に使用されたフォーマット名です。 フォーマットの登録は、通常、コーデック固有のパッケージのinit関数によって行われます。

type 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
}

Grayは、Atメソッドがcolor.Gray値を返すインメモリイメージです。

func NewGray

func NewGray(r Rectangle) *Gray

NewGrayは、指定された境界を持つ新しいGrayイメージを返します。

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 added in v1.4.0

func (p *Gray) GrayAt(x, y int) color.Gray

func (*Gray) Opaque

func (p *Gray) Opaque() bool

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*Gray) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*Gray) RGBA64At added in v1.17.0

func (p *Gray) RGBA64At(x, y int) color.RGBA64

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) SetRGBA64 added in v1.17.0

func (p *Gray) SetRGBA64(x, y int, c color.RGBA64)

func (*Gray) SubImage

func (p *Gray) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type Gray16

type Gray16 struct {
	// Pixは、画像のピクセルをグレー値として、ビッグエンディアン形式で保持します。ピクセルは
	// (x, y)はPix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*2]で始まります。
	Pix []uint8
	// Strideは、垂直方向の隣接ピクセル間のPixストライド(バイト単位)です。
	Stride int
	// Rectは、画像の境界です。
	Rect Rectangle
}

Gray16は、Atメソッドがcolor.Gray16値を返すインメモリイメージです。

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 added in v1.4.0

func (p *Gray16) Gray16At(x, y int) color.Gray16

func (*Gray16) Opaque

func (p *Gray16) Opaque() bool

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*Gray16) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*Gray16) RGBA64At added in v1.17.0

func (p *Gray16) RGBA64At(x, y int) color.RGBA64

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) SetRGBA64 added in v1.17.0

func (p *Gray16) SetRGBA64(x, y int, c color.RGBA64)

func (*Gray16) SubImage

func (p *Gray16) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type Image

type Image interface {
	// ColorModelは、Imageのカラーモデルを返します。
	ColorModel() color.Model
	// Boundsは、Atがゼロ以外の色を返すことができる領域を返します。
	// 境界は必ずしも点(0,0)を含むわけではありません。
	Bounds() Rectangle
	// Atは、(x, y)のピクセルの色を返します。
	// At(Bounds().Min.X, Bounds().Min.Y)は、グリッドの左上のピクセルを返します。
	// At(Bounds().Max.X-1, Bounds().Max.Y-1)は、右下のピクセルを返します。
	At(x, y int) color.Color
}

Imageは、カラーモデルから取得したcolor.Color値の有限の長方形グリッドです。

func Decode

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

Decodeは、登録されたフォーマットでエンコードされた画像をデコードします。 返される文字列は、フォーマット登録時に使用されたフォーマット名です。 フォーマットの登録は、通常、コーデック固有のパッケージのinit関数によって行われます。

type 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
}

NRGBAは、Atメソッドがcolor.NRGBA値を返すインメモリイメージです。

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 added in v1.4.0

func (p *NRGBA) NRGBAAt(x, y int) color.NRGBA

func (*NRGBA) Opaque

func (p *NRGBA) Opaque() bool

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*NRGBA) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*NRGBA) RGBA64At added in v1.17.0

func (p *NRGBA) RGBA64At(x, y int) color.RGBA64

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) SetRGBA64 added in v1.17.0

func (p *NRGBA) SetRGBA64(x, y int, c color.RGBA64)

func (*NRGBA) SubImage

func (p *NRGBA) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type NRGBA64

type NRGBA64 struct {
	// Pixは、画像のピクセルをR, G, B, Aの順序で、ビッグエンディアン形式で保持します。ピクセルは
	// (x, y)はPix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*8]で始まります。
	Pix []uint8
	// Strideは、垂直方向の隣接ピクセル間のPixストライド(バイト単位)です。
	Stride int
	// Rectは、画像の境界です。
	Rect Rectangle
}

NRGBA64は、Atメソッドがcolor.NRGBA64値を返すインメモリイメージです。

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 added in v1.4.0

func (p *NRGBA64) NRGBA64At(x, y int) color.NRGBA64

func (*NRGBA64) Opaque

func (p *NRGBA64) Opaque() bool

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*NRGBA64) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*NRGBA64) RGBA64At added in v1.17.0

func (p *NRGBA64) RGBA64At(x, y int) color.RGBA64

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) SetRGBA64 added in v1.17.0

func (p *NRGBA64) SetRGBA64(x, y int, c color.RGBA64)

func (*NRGBA64) SubImage

func (p *NRGBA64) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type NYCbCrA added in v1.6.0

type NYCbCrA struct {
	YCbCr
	A       []uint8
	AStride int
}

NYCbCrAは、非アルファ乗算のY'CbCr-with-alpha色のインメモリイメージです。 AとAStrideは、埋め込まれたYCbCrのYとYStrideフィールドに対応します。

func NewNYCbCrA added in v1.6.0

func NewNYCbCrA(r Rectangle, subsampleRatio YCbCrSubsampleRatio) *NYCbCrA

NewNYCbCrAは、指定された境界とサブサンプル比率を持つ新しいNYCbCrAイメージを返します。

func (*NYCbCrA) AOffset added in v1.6.0

func (p *NYCbCrA) AOffset(x, y int) int

AOffsetは、(x, y)のピクセルに対応するAの最初の要素のインデックスを返します。

func (*NYCbCrA) At added in v1.6.0

func (p *NYCbCrA) At(x, y int) color.Color

func (*NYCbCrA) ColorModel added in v1.6.0

func (p *NYCbCrA) ColorModel() color.Model

func (*NYCbCrA) NYCbCrAAt added in v1.6.0

func (p *NYCbCrA) NYCbCrAAt(x, y int) color.NYCbCrA

func (*NYCbCrA) Opaque added in v1.6.0

func (p *NYCbCrA) Opaque() bool

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*NYCbCrA) RGBA64At added in v1.17.0

func (p *NYCbCrA) RGBA64At(x, y int) color.RGBA64

func (*NYCbCrA) SubImage added in v1.6.0

func (p *NYCbCrA) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type Paletted

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は、画像のパレットです。
	Palette color.Palette
}

Palettedは、指定されたパレットへのuint8インデックスのインメモリイメージです。

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

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*Paletted) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*Paletted) RGBA64At added in v1.17.0

func (p *Paletted) RGBA64At(x, y int) color.RGBA64

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) SetRGBA64 added in v1.17.0

func (p *Paletted) SetRGBA64(x, y int, c color.RGBA64)

func (*Paletted) SubImage

func (p *Paletted) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type PalettedImage

type PalettedImage interface {
	// ColorIndexAtは、(x, y)のピクセルのパレットインデックスを返します。
	ColorIndexAt(x, y int) uint8
	Image
}

PalettedImageは、色が限定的なパレットから来る可能性がある画像です。 もしmがPalettedImageで、m.ColorModel()がcolor.Palette pを返すなら、 m.At(x, y)はp[m.ColorIndexAt(x, y)]と等価であるべきです。もしmの カラーモデルがcolor.Paletteでないなら、ColorIndexAtの振る舞いは 定義されていません。

type Point

type Point struct {
	X, Y int
}

Pointは、X、Y座標のペアです。軸は右と下に増加します。

var ZP Point

ZPはゼロポイントです。

Deprecated: 代わりにリテラルのimage.Point{}を使用してください。

func Pt

func Pt(X, Y int) Point

PtはPoint{X, Y}の省略形です。

func (Point) Add

func (p Point) Add(q Point) Point

Addはベクトル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

Inは、pがr内にあるかどうかを報告します。

func (Point) Mod

func (p Point) Mod(r Rectangle) Point

Modは、p.X-q.Xがrの幅の倍数で、p.Y-q.Yがrの高さの倍数となるような、r内の点qを返します。

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はベクトルp-qを返します。

type 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
}

RGBAは、Atメソッドがcolor.RGBA値を返すインメモリイメージです。

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

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*RGBA) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*RGBA) RGBA64At added in v1.17.0

func (p *RGBA) RGBA64At(x, y int) color.RGBA64

func (*RGBA) RGBAAt added in v1.4.0

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) SetRGBA64 added in v1.17.0

func (p *RGBA) SetRGBA64(x, y int, c color.RGBA64)

func (*RGBA) SubImage

func (p *RGBA) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type RGBA64

type RGBA64 struct {
	// Pixは、画像のピクセルをR, G, B, Aの順序で、ビッグエンディアン形式で保持します。ピクセルは
	// (x, y)はPix[(y-Rect.Min.Y)*Stride + (x-Rect.Min.X)*8]で始まります。
	Pix []uint8
	// Strideは、垂直方向の隣接ピクセル間のPixストライド(バイト単位)です。
	Stride int
	// Rectは、画像の境界です。
	Rect Rectangle
}

RGBA64は、Atメソッドがcolor.RGBA64値を返すインメモリイメージです。

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

Opaqueは、画像全体をスキャンし、それが完全に不透明であるかどうかを報告します。

func (*RGBA64) PixOffset

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

PixOffsetは、(x, y)のピクセルに対応するPixの最初の要素のインデックスを返します。

func (*RGBA64) RGBA64At added in v1.4.0

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は、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

type RGBA64Image added in v1.17.0

type RGBA64Image interface {
	// RGBA64Atは、(x, y)のピクセルのRGBA64色を返します。
	// これはAt(x, y).RGBA()を呼び出し、結果の32ビットの戻り値をcolor.RGBA64に変換するのと同等ですが、
	// 具体的な色の型をcolor.Colorインターフェース型に変換する際の割り当てを避けることができます。
	RGBA64At(x, y int) color.RGBA64
	Image
}

RGBA64Imageは、そのピクセルを直接color.RGBA64に変換できるImageです。

type Rectangle

type Rectangle struct {
	Min, Max Point
}

Rectangleは、Min.X <= X < Max.X、Min.Y <= Y < Max.Yの点を含みます。 Min.X <= Max.XおよびYについても同様に成り立つ場合、それは整形されています。 点は常に整形されています。矩形のメソッドは、整形された入力に対して常に整形された出力を返します。

Rectangleは、その境界が矩形自体であるImageでもあります。Atは、 矩形内の点に対してcolor.Opaqueを、それ以外の場合はcolor.Transparentを返します。

var ZR Rectangle

ZRはゼロ矩形です。

Deprecated: 代わりにリテラルのimage.Rectangle{}を使用してください。

func Rect

func Rect(x0, y0, x1, y1 int) Rectangle

RectはRectangle{Pt(x0, y0), Pt(x1, y1)}の省略形です。返される 矩形は、必要に応じて最小座標と最大座標が交換され、正しく形成されています。

func (Rectangle) Add

func (r Rectangle) Add(p Point) Rectangle

Addは、pによって移動された矩形rを返します。

func (Rectangle) At added in v1.5.0

func (r Rectangle) At(x, y int) color.Color

Atは、Imageインターフェースを実装します。

func (Rectangle) Bounds added in v1.5.0

func (r Rectangle) Bounds() Rectangle

Boundsは、Imageインターフェースを実装します。

func (Rectangle) Canon

func (r Rectangle) Canon() Rectangle

Canonは、rの正規化されたバージョンを返します。返される矩形は、必要に応じて最小座標と最大座標が交換され、 正しく形成されています。

func (Rectangle) ColorModel added in v1.5.0

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

Emptyは、矩形が点を含まないかどうかを報告します。

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) RGBA64At added in v1.17.0

func (r Rectangle) RGBA64At(x, y int) color.RGBA64

RGBA64Atは、RGBA64Imageインターフェースを実装します。

func (Rectangle) Size

func (r Rectangle) Size() Point

Sizeは、rの幅と高さを返します。

func (Rectangle) String

func (r Rectangle) String() 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

type Uniform struct {
	C color.Color
}

Uniformは、一様な色の無限大のイメージです。 これはcolor.Color、color.Model、およびImageインターフェースを実装します。

func NewUniform

func NewUniform(c color.Color) *Uniform

NewUniformは、指定された色の新しい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)

func (*Uniform) RGBA64At added in v1.17.0

func (c *Uniform) RGBA64At(x, y int) color.RGBA64

type YCbCr

type YCbCr struct {
	Y, Cb, Cr      []uint8
	YStride        int
	CStride        int
	SubsampleRatio YCbCrSubsampleRatio
	Rect           Rectangle
}

YCbCrは、Y'CbCr色のインメモリイメージです。ピクセルごとに1つのYサンプルがありますが、 各CbおよびCrサンプルは1つ以上のピクセルに跨ることができます。 YStrideは、垂直方向の隣接ピクセル間のYスライスインデックスデルタです。 CStrideは、別々のクロマサンプルにマップされる垂直方向の隣接ピクセル間のCbおよびCrスライスインデックスデルタです。 絶対的な要件ではありませんが、通常、YStrideとlen(Y)は8の倍数です、そして:

4:4:4の場合、CStride == YStride/1 && len(Cb) == len(Cr) == len(Y)/1。
4:2:2の場合、CStride == YStride/2 && len(Cb) == len(Cr) == len(Y)/2。
4:2:0の場合、CStride == YStride/2 && len(Cb) == len(Cr) == len(Y)/4。
4:4:0の場合、CStride == YStride/1 && len(Cb) == len(Cr) == len(Y)/2。
4:1:1の場合、CStride == YStride/4 && len(Cb) == len(Cr) == len(Y)/4。
4:1:0の場合、CStride == YStride/4 && len(Cb) == len(Cr) == len(Y)/8。

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) RGBA64At added in v1.17.0

func (p *YCbCr) RGBA64At(x, y int) color.RGBA64

func (*YCbCr) SubImage

func (p *YCbCr) SubImage(r Rectangle) Image

SubImageは、rを通じて見える画像pの一部を表す画像を返します。 返される値は、元の画像とピクセルを共有します。

func (*YCbCr) YCbCrAt added in v1.4.0

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

type YCbCrSubsampleRatio int

YCbCrSubsampleRatioは、YCbCr画像で使用されるクロマサブサンプル比率です。

const (
	YCbCrSubsampleRatio444 YCbCrSubsampleRatio = iota
	YCbCrSubsampleRatio422
	YCbCrSubsampleRatio420
	YCbCrSubsampleRatio440
	YCbCrSubsampleRatio411
	YCbCrSubsampleRatio410
)

func (YCbCrSubsampleRatio) String

func (s YCbCrSubsampleRatio) String() string

Directories

Path Synopsis
colorパッケージは基本的な色ライブラリを実装します。
colorパッケージは基本的な色ライブラリを実装します。
palette
パッケージpaletteは、標準的なカラーパレットを提供します。
パッケージpaletteは、標準的なカラーパレットを提供します。
パッケージdrawは、画像合成関数を提供します。
パッケージdrawは、画像合成関数を提供します。
パッケージgifは、GIF画像のデコーダとエンコーダを実装します。
パッケージgifは、GIF画像のデコーダとエンコーダを実装します。
internal
imageutil
Package imageutil contains code shared by image-related packages.
Package imageutil contains code shared by image-related packages.
パッケージjpegは、JPEG画像のデコーダとエンコーダを実装します。
パッケージjpegは、JPEG画像のデコーダとエンコーダを実装します。
パッケージpngは、PNG画像のデコーダとエンコーダを実装します。
パッケージpngは、PNG画像のデコーダとエンコーダを実装します。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL