Merge pull request #129 from danpersa/fix-128

Fix: Crop is doing resize. Closes #128
This commit is contained in:
Tomás Aparicio 2017-01-13 18:53:25 +00:00 committed by GitHub
commit c5e109463f
2 changed files with 14 additions and 6 deletions

View file

@ -176,7 +176,7 @@ func TestImageCropByWidth(t *testing.T) {
t.Errorf("Cannot process the image: %s", err)
}
err = assertSize(buf, 600, 375)
err = assertSize(buf, 600, 1050)
if err != nil {
t.Error(err)
}
@ -190,7 +190,7 @@ func TestImageCropByHeight(t *testing.T) {
t.Errorf("Cannot process the image: %s", err)
}
err = assertSize(buf, 480, 300)
err = assertSize(buf, 1680, 300)
if err != nil {
t.Error(err)
}

View file

@ -401,12 +401,20 @@ func imageCalculations(o *Options, inWidth, inHeight int) float64 {
}
// Fixed width, auto height
case o.Width > 0:
factor = xfactor
o.Height = roundFloat(float64(inHeight) / factor)
if o.Crop {
o.Height = inHeight
} else {
factor = xfactor
o.Height = roundFloat(float64(inHeight) / factor)
}
// Fixed height, auto width
case o.Height > 0:
factor = yfactor
o.Width = roundFloat(float64(inWidth) / factor)
if o.Crop {
o.Width = inWidth
} else {
factor = yfactor
o.Width = roundFloat(float64(inWidth) / factor)
}
// Identity transform
default:
o.Width = inWidth