use jpg format to encode
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"golang.org/x/image/webp"
|
||||
"image/png"
|
||||
"image/jpeg"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -21,19 +23,25 @@ func main() {
|
||||
defer iFile.Close()
|
||||
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 {
|
||||
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)
|
||||
}
|
||||
|
||||
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 {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user