chai2010
webp
Go

WebP decoder and encoder for Go (Zero Dependencies). 该项目不再维护, 大家自己fork吧

Last updated Jun 24, 2026
718
Stars
113
Forks
46
Issues
0
Stars/day
Attention Score
32
Language breakdown
No language data available.
Files click to expand
README

webp =====

██╗    ██╗███████╗██████╗ ██████╗
 ██║    ██║██╔════╝██╔══██╗██╔══██╗
 ██║ █╗ ██║█████╗  ██████╔╝██████╔╝
 ██║███╗██║██╔══╝  ██╔══██╗██╔═══╝
 ╚███╔███╔╝███████╗██████╔╝██║
  ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═╝
Build Status GoDoc GitHub release license Benchmark ========= Install ======= Install GCC or MinGW (download here) at first, and then run these commands:
  • go get github.com/chai2010/webp
  • go run hello.go
Example ======= This is a simple example:
package main
 
 import (
 	"bytes"
 	"fmt"
 	"io/ioutil"
 	"log"
 
 	"github.com/chai2010/webp"
 )
 
 func main() {
 	var buf bytes.Buffer
 	var width, height int
 	var data []byte
 	var err error
 
 	// Load file data
 	if data, err = ioutil.ReadFile("./testdata/1webpll.webp"); err != nil {
 		log.Println(err)
 	}
 
 	// GetInfo
 	if width, height, _, err = webp.GetInfo(data); err != nil {
 		log.Println(err)
 	}
 	fmt.Printf("width = %d, height = %d\n", width, height)
 
 	// GetMetadata
 	if metadata, err := webp.GetMetadata(data, "ICCP"); err != nil {
 		fmt.Printf("Metadata: err = %v\n", err)
 	} else {
 		fmt.Printf("Metadata: %s\n", string(metadata))
 	}
 
 	// Decode webp
 	m, err := webp.Decode(bytes.NewReader(data))
 	if err != nil {
 		log.Println(err)
 	}
 
 	// Encode lossless webp
 	if err = webp.Encode(&buf, m, &webp.Options{Lossless: true}); err != nil {
 		log.Println(err)
 	}
 	if err = ioutil.WriteFile("output.webp", buf.Bytes(), 0666); err != nil {
 		log.Println(err)
 	}
     
     fmt.Println("Save output.webp ok")
 }
Decode and Encode as RGB format:
m, err := webp.DecodeRGB(data)
 if err != nil {
 	log.Fatal(err)
 }
 
 data, err := webp.EncodeRGB(m)
 if err != nil {
 	log.Fatal(err)
 }
Give a Star! ⭐ =============== If you like project, please give it a star. Thanks!

🔗 More in this category

© 2026 GitRepoTrend · chai2010/webp · Updated daily from GitHub