From 9efba7bf550a6eb0f7eeecd1af8b52e5bc0fcc98 Mon Sep 17 00:00:00 2001 From: DarthSim Date: Fri, 7 Sep 2018 22:05:28 +0600 Subject: [PATCH] Add image type check to calcShrink --- process.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/process.go b/process.go index caf6bbda..696263d8 100644 --- a/process.go +++ b/process.go @@ -166,13 +166,15 @@ func calcShink(scale float64, imgtype imageType) int { return shrink } - switch { - case shrink >= 16: - return 8 - case shrink >= 8: - return 4 - case shrink >= 4: - return 2 + if imgtype != imageTypeWEBP { + switch { + case shrink >= 16: + return 8 + case shrink >= 8: + return 4 + case shrink >= 4: + return 2 + } } return 1 @@ -235,8 +237,7 @@ func processImage(data []byte, imgtype imageType, po processingOptions, t *timer // Do some shrink-on-load if scale < 1.0 { - if imgtype == imageTypeJPEG || imgtype == imageTypeWEBP { - shrink := calcShink(scale, imgtype) + if shrink := calcShink(scale, imgtype); shrink != 1 { scale = scale * float64(shrink) if tmp, e := vipsLoadImage(data, imgtype, shrink); e == nil {