package gif
import "image/gif"
gif包实现了gif文件的编码器和解码器。gif格式参见:http://www.w3.org/Graphics/GIF/spec-gif89a.txt
Index
- type Options
- func Decode(r io.Reader) (image.Image, error)
- func DecodeConfig(r io.Reader) (image.Config, error)
- func Encode(w io.Writer, m image.Image, o *Options) error
- type GIF
- func DecodeAll(r io.Reader) (*GIF, error)
- func EncodeAll(w io.Writer, g *GIF) error
type Options
type Options struct {
// NumColors是图像中的最多颜色数,范围[1, 256]
NumColors int
// Quantizer用于生成NumColors大小的调色板,为nil时默认使用palette.Plan9
Quantizer draw.Quantizer
// Drawer用于将图像写入期望的调色板格式的图像,为nil时会使用draw.FloydSteinberg
Drawer draw.Drawer
}
Options是编码参数。
func Decode
func Decode(r io.Reader) (image.Image, error)
从文件流解码并返回GIF文件中的第一幅图像。
func DecodeConfig
func DecodeConfig(r io.Reader) (image.Config, error)
返回GIF图像的色彩模型和尺寸;函数不会解码整个图像文件。
func Encode
func Encode(w io.Writer, m image.Image, o *Options) error
函数将图像以GIF格式写入w中。
type GIF
type GIF struct {
Image []*image.Paletted // 连续的图像
Delay []int // 每一帧延迟时间,单位是0.01s
LoopCount int // 总的循环时间
}
GIF类型代表可能保存在GIF文件里的多幅图像。
func DecodeAll
func DecodeAll(r io.Reader) (*GIF, error)
函数从r中读取一个GIF格式文件;返回值中包含了连续的图帧和时间信息。
func EncodeAll
func EncodeAll(w io.Writer, g *GIF) error
函数将g中所有的图像按指定的每帧延迟和累计循环时间写入w中。