Skip to content

Commit 20da25c

Browse files
committed
Fixes embed regression
1 parent 6650cb5 commit 20da25c

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed
8.86 KB
Loading
-2.17 KB
Loading

regression_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ import (
1010
"github.com/stretchr/testify/require"
1111
)
1212

13+
func TestEmbed(t *testing.T) {
14+
goldenTest(t, "fixtures/shapes.png", func(tx *vips.Transform) {
15+
tx.Resize(512, 256)
16+
})
17+
}
18+
1319
func TestResizeCrop(t *testing.T) {
1420
goldenTest(t, "fixtures/colors.png", func(tx *vips.Transform) {
1521
tx.Resize(100, 300).

transform.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -376,12 +376,21 @@ func resize(bb *Blackboard) error {
376376
shrinkY := ratio(bb.Height(), bb.targetHeight)
377377

378378
cropMode := bb.ResizeStrategy == ResizeStrategyCrop
379+
stretchMode := bb.ResizeStrategy == ResizeStrategyStretch
379380

380-
if cropMode {
381+
if !stretchMode {
381382
if shrinkX > 0 && shrinkY > 0 {
382-
shrinkX = math.Min(shrinkX, shrinkY)
383+
if cropMode {
384+
shrinkX = math.Min(shrinkX, shrinkY)
385+
} else {
386+
shrinkX = math.Max(shrinkX, shrinkY)
387+
}
383388
} else {
384-
shrinkX = math.Max(shrinkX, shrinkY)
389+
if cropMode {
390+
shrinkX = math.Min(shrinkX, shrinkY)
391+
} else {
392+
shrinkX = math.Max(shrinkX, shrinkY)
393+
}
385394
}
386395
shrinkY = shrinkX
387396
}
@@ -396,7 +405,7 @@ func resize(bb *Blackboard) error {
396405
}
397406

398407
// If stretching then we're done.
399-
if bb.ResizeStrategy == ResizeStrategyStretch {
408+
if stretchMode {
400409
return nil
401410
}
402411
}

0 commit comments

Comments
 (0)