Golang 图片压缩可以直接使用第三方包 resize
安装
1 | $ go get github.com/nfnt/resize |
使用
导入
1 | import "github.com/nfnt/resize" |
语法
resize
有两个方法 Resize
Thumbnail
1 | resize.Resize(width, height uint, img image.Image, interp resize.InterpolationFunction) image.Image |
1 | resize.Thumbnail(maxWidth, maxHeight uint, img image.Image, interp resize.InterpolationFunction) image.Image |
简单使用
1 | package main |
这里边需要关注的是参数 resize.InterpolationFunction
,它有几个值
- NearestNeighbor: Nearest-neighbor interpolation
- Bilinear: Bilinear interpolation
- Bicubic: Bicubic interpolation
- MitchellNetravali: Mitchell-Netravali interpolation
- Lanczos2: Lanczos resampling with a=2
- Lanczos3: Lanczos resampling with a=3
这个压缩方式的展示效果可以从这里看到 https://github.com/nfnt/resize#downsizing-samples
我挨个点连接进行,发现实在不想去纠结他们的具体原理,我只想比较压缩后的文件大小
我依次按照集中格式进行了压缩,我们对比下文件大小
1 | -rw-r--r--@ 1 wxnacy staff 64633 Jan 18 18:01 react-app1.png |
经过对比,Lanczos3
算法文件最大,图片最清晰,NearestNeighbor
最差
ok,这样我们就知道了,如果你追求清晰的或者文件大小该选什么类型了
最近热读
扫码关注公众号,或搜索公众号“温欣爸比”
及时获取我的最新文章