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
Security Considerations ¶
The image package can be used to parse arbitrarily large images, which can cause resource exhaustion on machines which do not have enough memory to store them. When operating on arbitrary images, DecodeConfig should be called before Decode, so that the program can decide whether the image, as defined in the returned header, can be safely decoded with the available resources. A call to Decode which produces an extremely large image, as defined in the header returned by DecodeConfig, is not considered a security issue, regardless of whether the image is itself malformed or not. A call to DecodeConfig which returns a header which does not match the image returned by Decode may be considered a security issue, and should be reported per the [Go Security Policy](https://go.dev/security/policy).
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)
Index ¶
- Variables
- func RegisterFormat(name, magic string, decode func(io.Reader) (Image, error), ...)
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *Alpha) Set(x, y int, c color.Color)
- func (p *Alpha) SetAlpha(x, y int, c color.Alpha)
- func (p *Alpha) SetRGBA64(x, y int, c color.RGBA64)
- func (p *Alpha) SubImage(r Rectangle) Image
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *Alpha16) Set(x, y int, c color.Color)
- func (p *Alpha16) SetAlpha16(x, y int, c color.Alpha16)
- func (p *Alpha16) SetRGBA64(x, y int, c color.RGBA64)
- func (p *Alpha16) SubImage(r Rectangle) Image
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *CMYK) Set(x, y int, c color.Color)
- func (p *CMYK) SetCMYK(x, y int, c color.CMYK)
- func (p *CMYK) SetRGBA64(x, y int, c color.RGBA64)
- func (p *CMYK) SubImage(r Rectangle) Image
- type Config
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *Gray) Set(x, y int, c color.Color)
- func (p *Gray) SetGray(x, y int, c color.Gray)
- func (p *Gray) SetRGBA64(x, y int, c color.RGBA64)
- func (p *Gray) SubImage(r Rectangle) Image
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *Gray16) Set(x, y int, c color.Color)
- func (p *Gray16) SetGray16(x, y int, c color.Gray16)
- func (p *Gray16) SetRGBA64(x, y int, c color.RGBA64)
- func (p *Gray16) SubImage(r Rectangle) Image
- type Image
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *NRGBA) Set(x, y int, c color.Color)
- func (p *NRGBA) SetNRGBA(x, y int, c color.NRGBA)
- func (p *NRGBA) SetRGBA64(x, y int, c color.RGBA64)
- func (p *NRGBA) SubImage(r Rectangle) Image
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *NRGBA64) Set(x, y int, c color.Color)
- func (p *NRGBA64) SetNRGBA64(x, y int, c color.NRGBA64)
- func (p *NRGBA64) SetRGBA64(x, y int, c color.RGBA64)
- func (p *NRGBA64) SubImage(r Rectangle) Image
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *NYCbCrA) SubImage(r Rectangle) Image
- type 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) RGBA64At(x, y int) color.RGBA64
- func (p *Paletted) Set(x, y int, c color.Color)
- func (p *Paletted) SetColorIndex(x, y int, index uint8)
- func (p *Paletted) SetRGBA64(x, y int, c color.RGBA64)
- func (p *Paletted) SubImage(r Rectangle) Image
- type PalettedImage
- type Point
- type 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) RGBA64At(x, y int) color.RGBA64
- 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) SetRGBA64(x, y int, c color.RGBA64)
- func (p *RGBA) SubImage(r Rectangle) Image
- type 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 RGBA64Image
- type 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) RGBA64At(x, y int) color.RGBA64
- 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 (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)
- func (c *Uniform) RGBA64At(x, y int) color.RGBA64
- type 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) RGBA64At(x, y int) color.RGBA64
- 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
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var ( // Blackは、不透明な黒の一様な画像です。 Black = NewUniform(color.Black) // Whiteは、不透明な白の一様な画像です。 White = NewUniform(color.White) // Transparentは、完全に透明な一様な画像です。 Transparent = NewUniform(color.Transparent) // Opaqueは、完全に不透明な一様な画像です。 Opaque = NewUniform(color.Opaque) )
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 (*Alpha) ColorModel ¶
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 ¶
NewAlpha16は、指定された境界を持つ新しい Alpha16 イメージを返します。
func (*Alpha16) ColorModel ¶
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 (*CMYK) ColorModel ¶ added in v1.5.0
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 (*Gray) ColorModel ¶
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 (*Gray16) ColorModel ¶
type Image ¶
Imageは、カラーモデルから取得した color.Color 値の有限の長方形グリッドです。
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 (*NRGBA) ColorModel ¶
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 ¶
NewNRGBA64は、指定された境界を持つ新しい NRGBA64 イメージを返します。
func (*NRGBA64) ColorModel ¶
type NYCbCrA ¶ added in v1.6.0
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) ColorModel ¶ added in v1.6.0
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 ¶
NewPalettedは、指定された幅、高さ、およびパレットを持つ新しい Paletted イメージを返します。
func (*Paletted) ColorIndexAt ¶
func (*Paletted) ColorModel ¶
func (*Paletted) SetColorIndex ¶
type PalettedImage ¶
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座標のペアです。軸は右と下に増加します。
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 (*RGBA) ColorModel ¶
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 (*RGBA64) ColorModel ¶
type RGBA64Image ¶ added in v1.17.0
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を返します。
func Rect ¶
Rectは Rectangle{Pt(x0, y0), Pt(x1, y1)}の省略形です。返される 矩形は、必要に応じて最小座標と最大座標が交換され、正しく形成されています。
func (Rectangle) ColorModel ¶ added in v1.5.0
ColorModelは、Image インターフェースを実装します。
func (Rectangle) Inset ¶
Insetは、n(負の場合もあり)によって内側に移動された矩形rを返します。 rの寸法のいずれかが2*n未満の場合、rの中心近くの空の矩形が返されます。
func (Rectangle) RGBA64At ¶ added in v1.17.0
RGBA64Atは、RGBA64Image インターフェースを実装します。
type Uniform ¶
Uniformは、一様な色の無限大の Image です。 これは color.Color、color.Model、および Image インターフェースを実装します。
func (*Uniform) ColorModel ¶
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) ColorModel ¶
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画像のデコーダとエンコーダを実装します。 |