webp

package module
v0.0.0-...-551bf55 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2014 License: BSD-3-Clause Imports: 7 Imported by: 0

README

webp

PkgDoc: http://godoc.org/github.com/chai2010/webp

Install

Install GCC or MinGW (download here) at first, and then run these commands:

  1. go get github.com/chai2010/webp
  2. go run hello.go

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/1_webp_ll.webp"); err != nil {
		log.Fatal(err)
	}

	// GetInfo
	if width, height, _, err = webp.GetInfo(data); err != nil {
		log.Fatal(err)
	}
	fmt.Printf("width = %d, height = %d\n", width, height)

	// Decode webp
	m, err := webp.Decode(bytes.NewReader(data))
	if err != nil {
		log.Fatal(err)
	}

	// Encode lossless webp
	if err = webp.Encode(&buf, m, &webp.Options{Lossless: true}); err != nil {
		log.Fatal(err)
	}
	if err = ioutil.WriteFile("output.webp", buf.Bytes(), 0666); err != nil {
		log.Fatal(err)
	}
	fmt.Printf("Save output.webp ok\n")
}

BUGS

Report bugs to chaishushan@gmail.com.

Thanks!

Documentation

Overview

Package webp implements a decoder and encoder for WEBP images.

WEBP is defined at: https://developers.google.com/speed/webp/docs/riff_container

Index

Constants

View Source
const DefaulQuality = 90

Variables

This section is empty.

Functions

func Decode

func Decode(r io.Reader) (m image.Image, err error)

Decode reads a WEBP image from r and returns it as an image.Image.

func DecodeConfig

func DecodeConfig(r io.Reader) (config image.Config, err error)

DecodeConfig returns the color model and dimensions of a WEBP image without decoding the entire image.

func DecodeGray

func DecodeGray(data []byte) (m *image.Gray, err error)

func DecodeRGBA

func DecodeRGBA(data []byte) (m *image.RGBA, err error)

func Encode

func Encode(w io.Writer, m image.Image, opt *Options) (err error)

Encode writes the image m to w in WEBP format.

func EncodeGray

func EncodeGray(m *image.Gray, quality float32) (data []byte, err error)

func EncodeLosslessGray

func EncodeLosslessGray(m *image.Gray) (data []byte, err error)

func EncodeLosslessRGBA

func EncodeLosslessRGBA(m *image.RGBA) (data []byte, err error)

func EncodeRGBA

func EncodeRGBA(m *image.RGBA, quality float32) (data []byte, err error)

func GetInfo

func GetInfo(data []byte) (width, height int, hasAlpha bool, err error)

Types

type Options

type Options struct {
	Lossless bool
	Quality  float32 // 0 ~ 100
}

Options are the encoding parameters.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL