package main import ( "golang.org/x/image/webp" "image/png" "io" "log" "os" ) func main() { var ( inFile io.Reader outFile io.Writer ) iFile, err := os.OpenFile("/home/debuggerx/Pictures/test.webp", os.O_RDONLY, 0) if err != nil { log.Fatal(err) } defer iFile.Close() inFile = iFile oFile, err := os.OpenFile("/home/debuggerx/Pictures/test.png", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 666) if err != nil { log.Fatal(err) } defer oFile.Close() outFile = oFile m, err := webp.Decode(inFile) if err != nil { log.Fatal(err) } err = png.Encode(outFile, m) if err != nil { log.Fatal(err) } }