diff -r 8e5787506b59 src/pkg/image/gif/writer.go --- a/src/pkg/image/gif/writer.go Tue Apr 15 15:52:23 2014 -0400 +++ b/src/pkg/image/gif/writer.go Tue Apr 15 18:21:41 2014 -0400 @@ -233,7 +233,9 @@ e.writeByte(uint8(litWidth)) // LZW Minimum Code Size. lzww := lzw.NewWriter(blockWriter{e: e}, lzw.LSB, litWidth) - _, e.err = lzww.Write(pm.Pix) + for y := b.Min.Y; y < b.Max.Y; y++ { + _, e.err = lzww.Write(pm.Pix[y*pm.Stride : y*pm.Stride+b.Dx()]) + } if e.err != nil { lzww.Close() return