| package imageutil | |
| import ( | |
| "image" | |
| "github.com/disintegration/imaging" | |
| ) | |
| // Resize provides a simple interface to resize image. | |
| func Resize(src image.Image, width, height int) image.Image { | |
| switch { | |
| case width == 0 && height == 0: | |
| return src /* not modified */ | |
| case width == 0: | |
| width = int(float64(height) / float64(src.Bounds().Dy()) * float64(src.Bounds().Dx())) | |
| case height == 0: | |
| height = int(float64(width) / float64(src.Bounds().Dx()) * float64(src.Bounds().Dy())) | |
| } | |
| return imaging.Resize(src, width, height, imaging.Lanczos) | |
| } | |