package libtgsconverter import "image" type imageWriter interface { init(w uint, h uint, options ConverterOptions) SupportsAnimation() bool AddFrame(image *image.RGBA, fps uint) error Result() []byte } func sameImage(a *image.RGBA, b *image.RGBA) bool { if len(a.Pix) != len(b.Pix) { return false } for i, v := range a.Pix { if v != b.Pix[i] { return false } } return true } func newImageWriter(extension string, w uint, h uint, options ConverterOptions) imageWriter { var writer imageWriter switch extension { case "apng": writer = &toapng{} case "gif": writer = &togif{} case "png": writer = &topng{} case "webp": writer = &towebp{} default: return nil } writer.init(w, h, options) return writer }