Description
Golang implementation of fastimage. Finds the type and/or size of an image given its uri by fetching as little as needed.
fastimage alternatives and similar packages
Based on the "Images" category.
Alternatively, view fastimage alternatives based on common mentions on social networks and blogs.
-
Primitive Pictures
Reproducing images with geometric primitives. -
imaginary
Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing -
pigo
Fast face detection, pupil/eyes localization and facial landmark points detection library in pure Go. -
bimg
Go package for fast high-level image processing powered by libvips C library -
gowitness
🔍 gowitness - a golang, web screenshot utility using Chrome Headless -
go-opencv
Go bindings for OpenCV / 2.x API in gocv / 1.x API in opencv -
stegify
🔍 Go tool for LSB steganography, capable of hiding any file within an image. -
geopattern
:triangular_ruler: Create beautiful generative image patterns from a string in golang. -
canvas
Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc. -
Angular 2 Image Gallery
Image Gallery built with Angular 15+, node.js and GraphicsMagick -
darkroom
An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency. -
mergi
go library for image programming (merge, crop, resize, watermark, animate, ease, transit) -
steganography
Pure Golang Library that allows LSB steganography on images using ZERO dependencies -
webp-server
Simple and minimal image server capable of storing, resizing, converting and caching images. -
LookUp
:mag: Pure Go implementation of fast image search and simple OCR, focused on reading info from screenshots -
goimghdr
The imghdr module determines the type of image contained in a file for go -
scout
Scout is a standalone open source software solution for DIY video security.
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of fastimage or a related project?
Popular Comparisons
README
fastimage
by Ruben Fonseca (@rubenfonseca)
Golang implementation of fastimage. Finds the type and/or size of an image given its uri by fetching as little as needed.
How?
fastimage parses the image data as it is downloaded. As soon as it finds out the size and type of the image, it stops the download.
Install
$ go get github.com/rubenfonseca/fastimage
Usage
For instance, this is a big 10MB JPEG image on wikipedia:
url := "http://upload.wikimedia.org/wikipedia/commons/9/9a/SKA_dishes_big.jpg"
fastimage.Debug()
imagetype, size, err := fastimage.DetectImageType(url)
if err != nil {
// Something went wrong, http failed? not an image?
panic(err)
}
switch imagetype {
case fastimage.JPEG:
log.Printf("JPEG")
case fastimage.PNG:
log.Printf("PNG")
case fastimage.GIF:
log.Printf("GIF")
}
log.Printf("Image type: %s", imagetype.String())
log.Printf("Image size: %v", size)
At the end, you can read something like this:
Closed after reading just 17863 bytes out of 10001439 bytes
If you want to set request timeout for url:
// the second argument is request timeout (milliseconds).
// FYI, DetectImageType() uses default timeout 5000ms.
imagetype, size, err := fastimage.DetectImageTypeWithTimeout(url, 2000)
Supported file types
File type | Can detect type? | Can detect size? |
---|---|---|
PNG | Yes | Yes |
JPEG | Yes | Yes |
GIF | Yes | Yes |
BMP | Yes | No |
TIFF | Yes | No |
Project details
License
fastimage is under MIT license. See the LICENSE file for details.
*Note that all licence references and agreements mentioned in the fastimage README section above
are relevant to that project's source code only.