mirror of
https://github.com/willnorris/imageproxy.git
synced 2026-05-30 14:25:18 +02:00
add support for webp encoding
This commit is contained in:
parent
ef50c1f9a6
commit
0a89d43f75
4 changed files with 79 additions and 22 deletions
16
transform.go
16
transform.go
|
|
@ -14,14 +14,14 @@ import (
|
|||
"log"
|
||||
"math"
|
||||
|
||||
"git.sr.ht/~jackmordaunt/go-libwebp/webp"
|
||||
"github.com/disintegration/imaging"
|
||||
"github.com/muesli/smartcrop"
|
||||
"github.com/muesli/smartcrop/nfnt"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/rwcarlsen/goexif/exif"
|
||||
"golang.org/x/image/bmp" // register bmp format
|
||||
"golang.org/x/image/tiff" // register tiff format
|
||||
_ "golang.org/x/image/webp" // register webp format
|
||||
"golang.org/x/image/bmp" // register bmp format
|
||||
"golang.org/x/image/tiff" // register tiff format
|
||||
"willnorris.com/go/gifresize"
|
||||
)
|
||||
|
||||
|
|
@ -58,8 +58,8 @@ func Transform(img []byte, opt Options) ([]byte, error) {
|
|||
}
|
||||
}
|
||||
|
||||
// encode webp and tiff as jpeg by default
|
||||
if format == "tiff" || format == "webp" {
|
||||
// encode tiff as jpeg by default
|
||||
if format == "tiff" {
|
||||
format = "jpeg"
|
||||
}
|
||||
|
||||
|
|
@ -107,6 +107,12 @@ func Transform(img []byte, opt Options) ([]byte, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "webp":
|
||||
m = transformImage(m, opt)
|
||||
err = webp.Encode(buf, m)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported format: %v", format)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue