I see only a single frame in your source file. I ran your program on another gif and got the expected result:
http://i.imgur.com/HOnlU1q.gif http://i.imgur.com/GnSUHQ1.gif On Sat, Jan 21, 2017 at 8:54 AM, kalekold via golang-nuts <golang-nuts@googlegroups.com> wrote: > Hi, > > I'm trying to draw some text on an animated gif and I'm having a few > problems. > > I have a source gif (attached as fire.gif) which I can decode fine and pass > the frames to the drawing lib. > The problem occurs when I'm trying to replace the original frames with ones > I've modified. I always seem to get the same result (see attached out.gif). > The text seems to be drawn fine but the other frames which contain the > animation seem to be missing. > > Here's the code: > > package main > > import ( > "image" > "image/draw" > "image/gif" > "log" > "os" > > > "github.com/fogleman/gg" > ) > > func main() { > > in, err := os.Open("/home/gary/Desktop/fire.gif") > if err != nil { > log.Fatalln(err) > } > defer in.Close() > > decoded, err := gif.DecodeAll(in) > if err != nil { > log.Fatalln(err) > } > > for x := 0; x < len(decoded.Image); x++ { > frame := decoded.Image[x] > ctx := gg.NewContextForImage(frame) > ctx.SetHexColor("#FFF") > ctx.DrawStringWrapped("Lorem ipsum dolor sit amet", 10, 10, 0, 0, > 500, 1.4, gg.AlignLeft) > > palImg := image.NewPaletted(frame.Bounds(), frame.Palette) > draw.FloydSteinberg.Draw(palImg, frame.Bounds(), ctx.Image(), > image.ZP) > > decoded.Image[x] = palImg > } > > out, err := os.Create("/home/gary/Desktop/out.gif") > if err != nil { > log.Fatalln(err) > } > defer out.Close() > > err = gif.EncodeAll(out, decoded) > if err != nil { > log.Fatalln(err) > } > } > > > Any ideas how to compile the changed frame to give me the correct output? > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.