svgo
bimg

svgo | bimg | |
---|---|---|
1 | 5 | |
2,158 | 2,778 | |
- | 1.2% | |
0.0 | 0.0 | |
about 2 years ago | 22 days ago | |
Go | Go | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
svgo
-
Processing equivalent in GoLang
this one can draw computer graphics primitives (since it's svg), can do animation, but not input/event-based animation (since it's just svg, not html) https://github.com/ajstarks/svgo
bimg
-
Go Image Converting
h2non/bimg can handle both if the underlying libvips is compiled with support for both formats.
-
What is the coolest Go open source projects you have seen?
bimg
-
WASM instead of C Dependencies?
I have web applications written in Rust and Go that need some basic image processing (reading JPEGs, PNGs, writing JPEGs, WebPs, AVIFs and resizing). This is something I always struggle with, because most libraries for image processing are written in C (libpng, libwebp, mozjpeg; or higher-level ones like vips). While there are usually dependencies in each language build on top of those C dependencies, like bimg for Go, I don’t like having C dependencies in a Rust, Go or even Node.js projects.
- Image manipulation with Go
-
Image Compression with Golang
For image processing, I will use the bimg library because in my opinion it has a very intuitive API and is easy to use, in addition to being very fast.
What are some alternatives?
resize - Pure golang image resizing
govips - A lightning fast image processing and resizing library for Go
canvas - Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc.
bild - Image processing algorithms in pure Go
smartcrop - smartcrop finds good image crops for arbitrary crop sizes
imaging - Imaging is a simple image processing package for Go
gg - Go Graphics - 2D rendering in Go with a simple API.
imaginary - Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
Primitive Pictures - Reproducing images with geometric primitives.
goimagehash - Go Perceptual image hashing package
oksvg - Partial implementation of SVG 2.0 specification in golang.
fastimage - Finds the type and/or size of a remote image given its uri, by fetching as little as needed.
