golang缩略图
发布时间:2020-12-16 18:40:52 所属栏目:大数据 来源:网络整理
导读:今天研究了golang生成缩略图的相关知识,在网上找到一篇不错的相关博客,博客地址:http://www.cnblogs.com/ghj1976/p/3445507.html。 有个注意事项这里提醒一下: 官方文档原话: Image接口可以通过调用如NewRGBA和NewPaletted函数等获得;也可以通过调用De
今天研究了golang生成缩略图的相关知识,在网上找到一篇不错的相关博客,博客地址:http://www.cnblogs.com/ghj1976/p/3445507.html。 整理了一下代码: package main
import (
"code.google.com/p/graphics-go/graphics"
"image"
_ "image/jpeg" //必须import,否则会出现:unknown format,其余类似
"image/png"
"log"
"os"
)
//读取文件
func LoadImage(path string) (img image.Image,err error) {
file,err := os.Open(path)
if err != nil {
log.Fatal("open file fail:",err)
return
}
defer file.Close()
img,_,err = image.Decode(file) //解码图片
return
}
//保存文件
func SaveImage(path string,img image.Image) (err error) {
imgfile,err := os.Create(path)
defer imgfile.Close()
err = png.Encode(imgfile,img) //编码图片
if err != nil {
log.Fatal("Save fail:",err)
}
return
}
func main() {
src,err := LoadImage("1.jpg")
if err != nil {
log.Fatal("open fail:",err)
}
dst := image.NewRGBA(image.Rect(0,0,100,100))
err = graphics.Scale(dst,src) //缩小图片
if err != nil {
log.Fatal(err)
}
SaveImage("thumbnailimg.png",dst)
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |