简单介绍golang 实现图像缩略图的示例方法
package main
import(
"image"
"github.com/disintegration/imaging"
"io/ioutil"
"bytes"
"fmt"
"os"
)
func main(){
imgbuff, err := ioutil.ReadFile("test.jpg")
if err != nil{
fmt.Printf("read file failed: %s",err)
return
}
r := bytes.NewReader(imgbuff)
img, _, err := image.Decode(r)//解码
if err != nil{
fmt.Printf("decode failed: %s",err)
return
}
width := 200 //指定缩略图宽,单位像素
height := 200 //指定缩略图高,单位像素
dst := imaging.Resize(img,width,height,imaging.Lanczos) //调用缩略图接口
fp, err := os.Create("out.jpg")
if err != nil{
fmt.Printf("open file failed: %s",err)
return
}
err = imaging.Encode(fp, dst, imaging.JPEG) //编码输出
if err != nil{
fmt.Printf("encode to file failed: %s", err)
}
}