通过图片url获取图片尺寸大小

October 28, 2020

这篇文章介绍了如何通过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)
}
Go图片尺寸

IARNO

服务端开发

centos7 安装kong网关

Kong网关配置负载均衡