如何从golang中的URL获取图像的分辨率。
以下是我正在尝试的代码。
resp, err := http.Get("http://i.imgur.com/Peq1U1u.jpg")
if err != nil {
// handle error
}
defer resp.Body.Close()
m, _, err := image.Decode(resp.Body)
if err != nil {
// handle error
}
g := m.Bounds()
fmt.Printf(g.String())
你能告诉我如何在上述情况下获得解决方案
答案 0 :(得分:9)
你快到了。您的g
变量属于image.Rectangle
类型,其中包含Dx()
和Dy()
方法,分别给出宽度和高度。我们可以使用它们来计算分辨率。
package main
import (
"fmt"
"image"
_ "image/gif"
_ "image/jpeg"
_ "image/png"
"log"
"net/http"
)
func main() {
resp, err := http.Get("http://i.imgur.com/Peq1U1u.jpg")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
m, _, err := image.Decode(resp.Body)
if err != nil {
log.Fatal(err)
}
g := m.Bounds()
// Get height and width
height := g.Dy()
width := g.Dx()
// The resolution is height x width
resolution := height * width
// Print results
fmt.Println(resolution, "pixels")
}
答案 1 :(得分:1)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="txtInput" />
解码整个图像,改用image.Decode
:
image.DecodeConfig