这篇文章介绍了如何通过Go语言获取图片URL的尺寸大小。首先,我们需要导入image/gif,image/jpeg,image/png这三个包,以便解码不同格式的图片。然后,我们使用http.Get方法获取图片,使用image.Decode解码图片,最后通过m.Bounds().Dx(),m.Bounds().Dy()和m.Bounds().Size()获取图片的宽度、高度和尺寸。
通过图片url
获取图片尺寸大小(size
)
问题
当使用image.Decode
时报image: unknown format·
这是因为忘记引入包import _ "image/jpeg"
,image包不知道怎么Decode图片,需要导入"image/jpeg"去解码jpg图片。
gif和png图片需要导入相应"image/gif”,“image/png”。
如这三种图片类型都用到,需要都导入。
Demo
package main
import (
_ "image/gif" // 必须导入该包
_ "image/jpeg" // 必须导入该包
_ "image/png" // 必须导入该包
"fmt"
"image"
"net/http"
)
func main() {
res, err := http.Get("https://www.iarno.cn/images/gopher.svg")
if err != nil || res.StatusCode != 200 {
fmt.Println(err)
}
defer res.Body.Close()
m, _, err := image.Decode(res.Body)
if err != nil {
fmt.Println(err)
}
fmt.Println(m.Bounds().Dx()) // 宽:32
fmt.Println(m.Bounds().Dy()) // 高:32
fmt.Println(m.Bounds().Size()) // size:(32,32)
}