0
Fork 0
mirror of https://github.com/willnorris/imageproxy.git synced 2024-12-16 21:56:43 -05:00

image transformation improvements

- switch to disintegration/imaging library, which supports more of the
  transformations I want to add
- pass image through untouched if provided Options are empty
This commit is contained in:
Will Norris 2013-12-06 09:23:04 -08:00
parent fde104a7a1
commit 805aa606ca

View file

@ -7,14 +7,17 @@ import (
"image/gif"
"image/jpeg"
"image/png"
"reflect"
"github.com/nfnt/resize"
"github.com/disintegration/imaging"
"github.com/willnorris/go-imageproxy/data"
)
var emptyOptions = new(data.Options)
// Transform the provided image.
func Transform(img data.Image, opt *data.Options) (*data.Image, error) {
if opt == nil {
if opt == nil || reflect.DeepEqual(opt, emptyOptions) {
return &img, nil
}
@ -26,7 +29,7 @@ func Transform(img data.Image, opt *data.Options) (*data.Image, error) {
// resize
if opt.Width != 0 || opt.Height != 0 {
m = resize.Resize(uint(opt.Width), uint(opt.Height), m, resize.Lanczos3)
m = imaging.Fit(m, opt.Width, opt.Height, imaging.Lanczos)
}
// encode image