golang创建gif图片代码

采用golang的image,image/gif包很容易创建gif图片,参考艾伦的书,写demo如下:

package main

import (
	"image"
	"image/color"
	"image/gif"
	"os"
)
var palette=[]color.Color{color.White,color.Black,color.RGBA{0x22,0xCC,0x33,0xff}}
func main(){
	const (
		nframes =100
		delay = 8
		size = 200
	)
	phase :=0
	anim :=gif.GIF{LoopCount:nframes}
	for i:=0;i1 {
		filename =os.Args[1]+".gif"
	}
	file,_:=os.Create(filename)
	defer file.Close()
	gif.EncodeAll(file,&anim)
}
其中palette是画板的颜色数组,白色是底色,数组的index为1的是黑色,即画笔的颜色,在img.SetColorIndex中,1表示的是黑色,2表示颜色{0x22,0xCC,0x33,0xff},为亮绿色。

nframes表示gif图片的帧数,delay表示帧间的时间间隔,size表示图像的大小。

anim是GIF图片的结构体,有3个属性,LoopCount,Delay,Image

双重循环,来设置gif图像的内容,y为一条竖线,x是让这条竖线随时间移动。

最后是输出文件名,使用方法如下:

go build gif.go
./gif test1
输出图片如下:

golang创建gif图片代码_第1张图片

你可能感兴趣的:(go,ubuntu)