package utils import ( "archive/zip" "fmt" "io" "time" "gitlab.com/gfxlabs/gfximg/apng" ) func ZipApngs(w io.Writer, xs []*apng.APNG) error { zw := zip.NewWriter(w) defer zw.Close() for i, v := range xs { header := zip.FileHeader{ Name: fmt.Sprintf("./animations/a_%d.png", i), NonUTF8: false, Method: zip.Deflate, Modified: time.Now(), } hw, err := zw.CreateHeader(&header) if err != nil { return err } err = apng.Encode(hw, *v) if err != nil { return err } } return nil }