We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 835c64f commit 411a08bCopy full SHA for 411a08b
gif_slice.go
@@ -8,20 +8,25 @@ import (
8
9
// SliceGIF
10
func SliceGIF(g *gif.GIF) (r []image.Image) {
11
- for _, v := range g.Image {
12
- if len(r) == 0 {
13
- r = append(r, v)
14
- } else {
15
- r = append(r, MergeImage(v, r[len(r)-1]))
16
- }
+ if len(g.Image) == 0 {
+ return nil
17
}
18
- return
+ r = make([]image.Image, 0, len(g.Image))
+ r = append(r, g.Image[0])
+ if len(g.Image) == 1 {
+ return r
+ }
19
+
20
+ for _, v := range g.Image[1:] {
21
+ r = append(r, MergeImage(r[len(r)-1], v))
22
23
24
25
26
// MergeImage
27
func MergeImage(src image.Image, over image.Image) image.Image {
- dist := image.NewNRGBA(over.Bounds())
- draw.Draw(dist, dist.Bounds(), over, image.ZP, draw.Src)
- draw.Draw(dist, dist.Bounds(), src, image.ZP, draw.Over)
28
+ dist := image.NewRGBA(src.Bounds())
29
+ draw.Draw(dist, dist.Bounds(), src, image.ZP, draw.Src)
30
+ draw.Draw(dist, dist.Bounds(), over, image.ZP, draw.Over)
31
return dist
32
0 commit comments