mirror of
https://github.com/willnorris/imageproxy.git
synced 2026-04-24 20:36:24 +02:00
allow forcing encoding as tiff
This commit is contained in:
parent
c1a9dab401
commit
817908938e
3 changed files with 25 additions and 8 deletions
15
transform.go
15
transform.go
|
|
@ -24,8 +24,8 @@ import (
|
|||
"math"
|
||||
|
||||
"github.com/disintegration/imaging"
|
||||
"golang.org/x/image/tiff" // register tiff format
|
||||
_ "golang.org/x/image/webp" // register webp format
|
||||
_ "golang.org/x/image/tiff" // register tiff format
|
||||
"willnorris.com/go/gifresize"
|
||||
)
|
||||
|
||||
|
|
@ -50,6 +50,11 @@ func Transform(img []byte, opt Options) ([]byte, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// encode webp and tiff as jpeg by default
|
||||
if format == "tiff" || format == "webp" {
|
||||
format = "jpeg"
|
||||
}
|
||||
|
||||
if opt.Format != "" {
|
||||
format = opt.Format
|
||||
}
|
||||
|
|
@ -65,7 +70,7 @@ func Transform(img []byte, opt Options) ([]byte, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "jpeg", "webp", "tiff": // default to encoding webp & tiff as jpeg
|
||||
case "jpeg":
|
||||
quality := opt.Quality
|
||||
if quality == 0 {
|
||||
quality = defaultQuality
|
||||
|
|
@ -82,6 +87,12 @@ func Transform(img []byte, opt Options) ([]byte, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "tiff":
|
||||
m = transformImage(m, opt)
|
||||
err = tiff.Encode(buf, m, &tiff.Options{tiff.Deflate, true})
|
||||
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