gif包实现了gif图片的解码及编码

func Decode(r io.Reader) (image.Image, error)      //Decode从r中读取一个GIF图像,然后返回的image.Image是第一个嵌入的图。


func DecodeConfig(r io.Reader) (image.Config, error)   //DecodeConfig不需要解码整个图像就可以返回全局的颜色模型和GIF图片的尺寸。

type Config struct {
    ColorModel    color.Model
    Width, Height int
}
Config返回图像的颜色model和尺寸

func Encode(w io.Writer, m image.Image, o *Options) error    //将图片m按照gif模式写入w中
type Options struct {
	// NumColors是图片中使用颜色的最大值,它的范围是1-256
	NumColors int

	// Quantizer经常被用来通过NumColors产生调色板,palette.Plan9 被用来替代nil Quantizer
	Quantizer draw.Quantizer

	// Drawer i用于将源图片转化为期望的调色板, draw.FloydSteinberg 用来替代一个空 Drawer.
	Drawer draw.Drawer
}


func EncodeAll(w io.Writer, g *GIF) error    //将图片按照帧与帧之间指定的循环次数和时延写入w中