From cc455d8f480222ae4eba2cd8aaed0bdf1ae12519 Mon Sep 17 00:00:00 2001 From: Tomas Aparicio Date: Fri, 5 Feb 2016 15:19:32 +0000 Subject: [PATCH 1/2] fix(rotation) --- options.go | 12 ++++++------ resize.go | 22 +++++++--------------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/options.go b/options.go index fae5fd7..4e19528 100644 --- a/options.go +++ b/options.go @@ -101,12 +101,12 @@ type GaussianBlur struct { } type Sharpen struct { - Radius int - X1 float64 - Y2 float64 - Y3 float64 - M1 float64 - M2 float64 + Radius int + X1 float64 + Y2 float64 + Y3 float64 + M1 float64 + M2 float64 } // Supported image transformation options diff --git a/resize.go b/resize.go index 984d1b1..3bdb2ea 100644 --- a/resize.go +++ b/resize.go @@ -32,14 +32,6 @@ func Resize(buf []byte, o Options) ([]byte, error) { debug("Options: %#v", o) - // Initial image auto rotate / flip for proper transformation calculus - if o.Rotate == 0 { - image, err = rotateAndFlipImage(image, o) - if err != nil { - return nil, err - } - } - inWidth := int(image.Xsize) inHeight := int(image.Ysize) @@ -76,6 +68,12 @@ func Resize(buf []byte, o Options) ([]byte, error) { residual = float64(shrink) / factor } + // Explicit or auto rotate image based on EXIF header + image, err = rotateAndFlipImage(image, o) + if err != nil { + return nil, err + } + // Zoom image, if necessary image, err = zoomImage(image, o.Zoom) if err != nil { @@ -104,12 +102,6 @@ func Resize(buf []byte, o Options) ([]byte, error) { return nil, err } - // Transform to original rotation, if necessary - image, err = rotateAndFlipImage(image, o) - if err != nil { - return nil, err - } - // Flatten image on a background, if necessary image, err = imageFlatten(image, imageType, o) if err != nil { @@ -266,7 +258,7 @@ func rotateAndFlipImage(image *C.VipsImage, o Options) (*C.VipsImage, error) { if flip { o.Flip = flip } - if rotation > D0 && o.Rotate == 0 { + if rotation > 0 && o.Rotate == 0 { o.Rotate = rotation } } From da1108f1ad54a567edd0cb36105e9482ba6b4780 Mon Sep 17 00:00:00 2001 From: Tomas Aparicio Date: Fri, 5 Feb 2016 15:19:52 +0000 Subject: [PATCH 2/2] feat(versio): bump --- version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.go b/version.go index e722bd4..c38f217 100644 --- a/version.go +++ b/version.go @@ -1,3 +1,3 @@ package bimg -const Version = "0.1.22" +const Version = "0.1.23"