根据图片链接压缩, 以下示例为jpeg的 png 可将相对应的jpeg
// path 图片url
func CutImg(path string) error {
imgfile, err := os.Open(path) // 打开
if err != nil {
log.Println("os.Open::", err)
return err
}
defer imgfile.Close() // 关流
jpgimg, err := jpeg.Decode(imgfile)// 文件解码成图像对象
if err != nil {
log.Println("jpeg.Decode::", err)
return err
}
//保存到新文件中
newfile, err := os.Create(path)
if err != nil {
log.Println("Create::", err)
return err
}
defer newfile.Close()
// &jpeg.Options{Quality: 10} 图片压缩质量(原图的百分比)
err = jpeg.Encode(newfile, jpgimg, &jpeg.Options{Quality: 40})
if err != nil {
log.Println("Encode::", err)
return err
}
return nil
}