You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
915 B

package main
import (
"fmt"
"golang.org/x/image/webp"
"image/jpeg"
"io"
"log"
"os"
"time"
)
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.jpg", os.O_CREATE|os.O_WRONLY|os.O_APPEND, os.FileMode(0644))
if err != nil {
log.Fatal(err)
}
defer oFile.Close()
outFile = oFile
startTime := time.Now().UnixNano()
m, err := webp.Decode(inFile)
endTime := time.Now().UnixNano()
fmt.Println((endTime - startTime) / 1000000)
if err != nil {
log.Fatal(err)
}
startTime = time.Now().UnixNano()
err = jpeg.Encode(outFile, m, &jpeg.Options{Quality: 50})
endTime = time.Now().UnixNano()
fmt.Println((endTime - startTime) / 1000000)
if err != nil {
log.Fatal(err)
}
}