...

パッケージ gif

import "image/gif"
概要
目次

概要 ▾

gif パッケージは GIF 画像デコーダとエンコーダを実装します。

GIF 仕様は https://www.w3.org/Graphics/GIF/spec-gif89a.txt にあります。

定数

廃棄メソッド

const (
    DisposalNone       = 0x01
    DisposalBackground = 0x02
    DisposalPrevious   = 0x03
)

func Decode

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

Decode は r から GIF イメージを読み込み,最初の埋め込みイメージを image.Image として返します。

func DecodeConfig

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

DecodeConfig は,画像全体をデコードすることなく,グローバルカラーモデルと GIF 画像の寸法を返します。

func Encode 1.2

func Encode(w io.Writer, m image.Image, o *Options) error

Encode は Image m を GIF フォーマットで w に書き込みます。

func EncodeAll 1.2

func EncodeAll(w io.Writer, g *GIF) error

EncodeAll は,指定されたループ数とフレーム間の遅延を使用して, g から w の画像を GIF 形式で書き込みます。

type GIF

GIF は GIF ファイルに格納されている可能性がある複数の画像を表します。

type GIF struct {
    Image []*image.Paletted // 連続した画像。
    Delay []int             // 100 分の 1 秒単位の,フレームごとに 1 つの連続した遅延時間。
    // LoopCount は,表示中にアニメーションを再開する回数を制御します。
    // LoopCount が 0 の場合は,無限ループします。
    // LoopCount が -1 の場合,各フレームは一度だけ表示されます。
    // それ以外の場合,アニメーションは LoopCount+1 回ループされます。
    LoopCount int
    // Disposal (廃棄) は,フレームごとに 1 つの連続した廃棄メソッドです。
    // 下位互換性のために, nil Disposal は EncodeAll に渡すのに有効であり,各フレームの破棄方法は 0 (破棄指定なし) であることを意味します。
    Disposal []byte // Go 1.5
    // Config は,グローバルカラーテーブル (パレット) ,幅,高さです。
    // nil または empty-color.Palette Config.ColorModel は,各フレームに独自のカラーテーブルがあり,グローバルカラーテーブルがないことを意味します。
    // 各フレームの境界は, 2 つの点 (0, 0) と (Config.Width, Config.Height) で定義された長方形内になければなりません。
    //
    // 下位互換性のために,ゼロ値の Config は EncodeAll に渡すために有効であり,全体の GIF の幅と高さが最初のフレームの境界の Rectangle.Max ポイントに等しいことを意味します。
    Config image.Config // Go 1.5
    // BackgroundIndex は, DisposalBackground 破棄メソッドで使用するための,グローバルカラーテーブル内の背景インデックスです。
    BackgroundIndex byte // Go 1.5
}

func DecodeAll

func DecodeAll(r io.Reader) (*GIF, error)

DecodeAll は, r から GIF 画像を読み取り,連続したフレームとタイミング情報を返します。

type Options 1.2

Options はエンコードパラメータです。

type Options struct {
    // NumColors は,画像で使用される色の最大数です。
    // 1 から 256 の範囲です。
    NumColors int

    // Quantizer は,サイズが NumColors のパレットを作成するために使用されます。
    // palette.Plan9 は nil Quantizer の代わりに使われます。
    Quantizer draw.Quantizer

    // Drawer は,ソースイメージを目的のパレットに変換するために使用されます。
    // nil Drawer の代わりに draw.FloydSteinberg が使用されています。
    Drawer draw.Drawer
}