Imgpro is a multifunctional image information recognition library, supporting a variety of image formats. And it can be run in the browser through WebAssembly(wasm).
Online Demo: imgpro
$ go get github.com/echosoar/imgpro
import (
"github.com/echosoar/imgpro"
)
func main() {
// run by file path
result := imgpro.Run("./test/imgs/go.png", []string{"size", "type"})
// you can also run by file binary data
// result := imgpro.RunBinary(binary, attributes)
if result["size"].Int != 60746 {
panic("size error")
}
if result["type"].String != "png" {
panic("type error")
}
}
Get image information by local file path
Param Index | Param Name | Type | Examples |
---|---|---|---|
0 | filePath | string | "./test/imgs/go.png" |
1 | attributes | []string | []string{"size", "type", "rgba", "hue", "qrcode"} |
import (
"github.com/echosoar/imgpro"
)
func main() {
result := imgpro.Run("./test/imgs/go.png", []string{"size", "type", "rgba", "hue", "qrcode"})
}
Get image information by file binary data
Param Index | Param Name | Type | Examples |
---|---|---|---|
0 | fileBinary | []byte | reader.Read(binary) |
1 | attributes | []string | []string{"size", "type", "rgba", "hue", "qrcode"} |
import (
"bufio"
"os"
"github.com/echosoar/imgpro"
)
func main() {
fileHandler, err := os.Open(filePath)
if err != nil {
panic("open error")
}
defer fileHandler.Close()
fileBytes := make([]byte, size)
reader := bufio.NewReader(fileHandler)
_, readErr := reader.Read(fileBytes)
if readErr != nil {
panic("file read error")
}
result := imgpro.RunBinary(fileBytes, []string{"size", "type", "rgba", "hue", "qrcode"})
}
Features | Attribute | PNG | JPG | GIF | BMP | WebP | HEIC | AVIF |
---|---|---|---|---|---|---|---|---|
File Size | size | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Format Detect | type | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Width/Height | wh | ✅ | ✅ | ✅ | ✅ | ✅ | ||
Frames | frame | ✅ | ✅ | ✅ | ||||
Color data | rgba | ✅ | ✅ | ✅ | ||||
Color proportion | hue | ✅ | ✅ | ✅ | ||||
QR Code | qrcode | ✅ | ✅ | ✅ | ||||
Exif | exif | ✅ | ||||||
Create Time | time | ✅ | ||||||
Position(GPS) Info | position | ✅ | ||||||
Device Info | device | ✅ |
© MIT by echosoar