image/gif

Guided tour · Image · pkg.go.dev →

Encode and decode GIF (including animated). Palette-based.

Single-frame

Encode / Decode

gif.Encode(w, img, nil)
img, _ := gif.Decode(r)

Animated

EncodeAll

g := &gif.GIF{
    Image: []*image.Paletted{frame1, frame2},
    Delay: []int{10, 10}, // 100ths of a second
    LoopCount: 0,          // infinite
}
gif.EncodeAll(w, g)

DecodeAll

g, _ := gif.DecodeAll(r)
for i, frame := range g.Image {
    fmt.Println(i, g.Delay[i], frame.Bounds())
}