func main() { var err error // Read binary data data := util.ReadFile("cosmos.webp") // Decode options := &webp.DecoderOptions{} img, err := webp.DecodeRGBA(data, options) if err != nil { panic(err) } util.WritePNG(img, "encoded_cosmos.png") }
func TestDecodeRGBAWithScaling(t *testing.T) { data := util.ReadFile("cosmos.webp") scale := image.Rect(0, 0, 640, 480) options := &webp.DecoderOptions{ Scale: scale, } img, err := webp.DecodeRGBA(data, options) if err != nil { t.Errorf("Got Error: %v", err) return } if img.Rect.Dx() != scale.Dx() || img.Rect.Dy() != scale.Dy() { t.Errorf("Decoded image should scaled to %v, but got %v", scale, img.Rect) } }
func TestDecodeRGBAWithCropping(t *testing.T) { data := util.ReadFile("cosmos.webp") crop := image.Rect(100, 100, 300, 200) options := &webp.DecoderOptions{ Crop: crop, } img, err := webp.DecodeRGBA(data, options) if err != nil { t.Errorf("Got Error: %v", err) return } if img.Rect.Dx() != crop.Dx() || img.Rect.Dy() != crop.Dy() { t.Errorf("Decoded image should cropped to %v, but got %v", crop, img.Rect) } }
func TestDecodeRGBA(t *testing.T) { files := []string{ "cosmos.webp", "butterfly.webp", "kinkaku.webp", "yellow-rose-3.webp", } for _, file := range files { data := util.ReadFile(file) options := &webp.DecoderOptions{} _, err := webp.DecodeRGBA(data, options) if err != nil { t.Errorf("Got Error: %v", err) return } } }