use jpg format to encode

master
DebuggerX 5 years ago
parent 45ec1ade2e
commit 246ec8def4

@ -1,11 +1,13 @@
package main package main
import ( import (
"fmt"
"golang.org/x/image/webp" "golang.org/x/image/webp"
"image/png" "image/jpeg"
"io" "io"
"log" "log"
"os" "os"
"time"
) )
func main() { func main() {
@ -21,19 +23,25 @@ func main() {
defer iFile.Close() defer iFile.Close()
inFile = iFile inFile = iFile
oFile, err := os.OpenFile("/home/debuggerx/Pictures/test.png", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 666) oFile, err := os.OpenFile("/home/debuggerx/Pictures/test.jpg", os.O_CREATE|os.O_WRONLY|os.O_APPEND, os.FileMode(0644))
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
defer oFile.Close() defer oFile.Close()
outFile = oFile outFile = oFile
startTime := time.Now().UnixNano()
m, err := webp.Decode(inFile) m, err := webp.Decode(inFile)
endTime := time.Now().UnixNano()
fmt.Println((endTime - startTime) / 1000000)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
err = png.Encode(outFile, m) 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 { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

Loading…
Cancel
Save