開発環境
- Windows10
- Visual Studio Code
- go version go1.15.5 windows/amd64
Code
main.go
package main
import (
"log"
"os"
"github.com/chai2010/webp"
"github.com/disintegration/imaging"
)
func main() {
img, err := imaging.Open("haruchan.jpg", imaging.AutoOrientation(true))
if err != nil {
log.Fatal(err)
}
file, err := os.Create("haruchan30.webp")
if err != nil {
log.Fatal(err)
}
defer file.Close()
options := webp.Options{Lossless: false, Quality: 30}
if err := webp.Encode(file, img, &options); err != nil {
log.Fatal(err)
}
log.Println("ok.")
}
その他
コード自体はほぼここの写経なのですが、Optionsが設定されていなかったので、ロスレスでQualityを設定してみたのですが、そのサイズの激減ぶりに驚いた。家族の写真で試したので貼れないのですが4608x2592のデジカメ画像。視力は良い方ですが特に強い劣化を感じず。blog(写真ブログなどでなければ)ならdefaultでQuality:50でいいのでは?という感じ。自前サーバのWordPress pluginでjpeg/pngをwebpに変換しているのですが、こんなにも減っているとはなあと。