网站做优化效果怎样,广西壮族自治区建设厅网站,企业文化范文,公众号怎么推广产品文章目录 golang常用库之什么是imaging库导入和使用生成缩略图 golang常用库之
什么是imaging库
官网#xff1a;https://github.com/disintegration/imaging
imaging 是一个 Go 语言的图像处理库#xff0c;它提供了一组功能丰富的函数和方法#xff0c;用于进行各种图像… 文章目录 golang常用库之什么是imaging库导入和使用生成缩略图 golang常用库之
什么是imaging库
官网https://github.com/disintegration/imaging
imaging 是一个 Go 语言的图像处理库它提供了一组功能丰富的函数和方法用于进行各种图像处理操作。
imaging 库允许您在 Go 代码中打开、操作和保存图像。 打开图像使用 imaging.Open 函数可以打开一个图像文件并将其转换为 *image.NRGBA 类型的图像对象。 缩放和调整大小使用 imaging.Resize 函数可以调整图像的大小可以指定目标宽度和高度也可以指定缩放的比例。 裁剪和切割使用 imaging.Crop 函数可以裁剪图像可以指定裁剪的矩形区域。 旋转和翻转使用 imaging.Rotate 和 imaging.Flip 函数可以对图像进行旋转和翻转操作。 滤镜和图像效果imaging 库还提供了一些滤镜函数如高斯模糊、锐化、灰度化等可以给图像添加各种效果和改变图像的外观。 保存图像使用 imaging.Save 函数可以将图像保存到本地文件可以指定保存的格式和质量。
导入和使用
import (github.com/disintegration/imaging
)生成缩略图
// 生成缩略图
thumbFilePath : filepath.Join(common.UploadDir, images, thumb_filename)
thumbImage, err : imaging.Open(filePath)
if err ! nil {log.Fatal(err)
}
thumbImage imaging.Resize(thumbImage, 250, 150, imaging.Lanczos) // 设置缩略图的宽度为 100
err imaging.Save(thumbImage, thumbFilePath)
if err ! nil {log.Fatal(err)
}