Browse Source

Fix force scale + rotation

DarthSim 3 years ago
parent
commit
9756dc8ba8
2 changed files with 7 additions and 1 deletions
  1. 1 0
      CHANGELOG.md
  2. 6 1
      processing/scale.go

+ 1 - 0
CHANGELOG.md

@@ -10,6 +10,7 @@
 
 ### Fix
 - Fix Datadog support.
+- Fix `force` resizing + rotation.
 
 ## [3.1.3] - 2021-12-17
 ### Fix

+ 6 - 1
processing/scale.go

@@ -8,7 +8,12 @@ import (
 
 func scale(pctx *pipelineContext, img *vips.Image, po *options.ProcessingOptions, imgdata *imagedata.ImageData) error {
 	if pctx.wscale != 1 || pctx.hscale != 1 {
-		if err := img.Resize(pctx.wscale, pctx.hscale); err != nil {
+		wscale, hscale := pctx.wscale, pctx.hscale
+		if (pctx.angle+po.Rotate)%180 == 90 {
+			wscale, hscale = hscale, wscale
+		}
+
+		if err := img.Resize(wscale, hscale); err != nil {
 			return err
 		}
 	}