图像调整大小而不拉伸和收缩

时间:2017-04-30 10:04:39

标签: go

我正在使用https://github.com/nfnt/resize调整图片大小

// open "test.jpg"
file, err := os.Open("images/" + fileName)
if err != nil {
    log.Fatal(err)
}

// decode jpeg into image.Image
img, err := jpeg.Decode(file)
if err != nil {
    log.Fatal(err)
}
file.Close()


m := resize.Resize(500, 500, img, resize.Lanczos3)

out, err := os.Create("images/" + fileName + "_resized.jpg")
if err != nil {
    log.Fatal(err)
}
defer out.Close()

// write new image to file
jpeg.Encode(out, m, nil)

这给我的输出如下:

[1]: https://github.com/nfnt/resize

我不想拉伸图像,只想在添加的区域中调整大小并填充白色背景。对Go没有任何想法。在Laravel我在http://image.intervention.io的帮助下完成但是对GO lang没有意识。请帮助我实现这一目标。

1 个答案:

答案 0 :(得分:0)

您可以使用同一个库中的其他功能:

newvar2将图像保留其宽高比缩小到最大尺寸