govips
gg
Our great sponsors
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.
govips
-
Just In Time Image Optimization at Reddit Scale
We chose to use govips which is a cgo wrapper around the libvips image manipulation library. The majority of new development for services in our backend is written using baseplate.go. But Go is not an ideal choice for media processing as it cannot keep up with the performance of native code. The most widely used image-processing libraries like libmagick are primarily written in C or C++. Speed was a major factor in selecting libvips in order to keep latency low on CDN cache misses for images. In our tests, libvips was 3–4 times faster than libmagick on basic image processing operations. Content-aware smart cropping was implemented by porting smartcrop.js to Go. This is the only operation implemented in pure Go.
- Image manipulation with Go
gg
-
I wrote a tool in Go to write Sequence Diagrams in Go
The author explicitly says:
> You don't need to download any dependencies such as plantUML or Graphviz, which is what most of the tools out there require and what was also my motivation to start this project. go-uml is using a 2D graphics engine written 100% in Go https://github.com/fogleman/gg
So no, this is not a solution for these requirements.
-
Golang library similar to Python's pillow
I really like the [fogleman/gg](https://github.com/fogleman/gg) package for image manipulation, it is pure Go and has many functions to draw and manipulate images.
-
Imagor - fast, Docker-ready image processing server written in Go and libvips, with Thumbor URL syntax
I've always used the GG library for my image processing needs, and I've heard of libvips somewhere before (likely from the Node.js world) but didn't know it had a Go port/wrapper. :) I'll definitely check that out as well
-
Trying out some new generative techniques with Go.
Mainly, the standard library and my favorite gg.
-
Processing equivalent in GoLang
Have you been hit by https://github.com/fogleman/gg/issues/85 when writing your book?
No sure if https://github.com/fogleman/gg was mentioned, but it should pretty much cover anyone’s basic needs. I used to do a lot of Processing about 7-8 years ago, and it certainly works for my stuff. I am now doing most of generative art in Go, using gg as a basis. It’s a bit bare bones, but also comes without any complicated dependencies.
-
Putting Text on an Image with Golang
That piece of code makes all the magic. With the help of Fogleman library manipulating images in Go is a breeze. Let's check what this is doing:
-
Libraries for animating 2D simulation results
Another alternative for drawing 2D graphics is https://github.com/fogleman/gg
What are some alternatives?
bimg - Go package for fast high-level image processing powered by libvips C library
canvas - Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc.
img - A selection of image manipulation tools
go-opencv - Go bindings for OpenCV / 2.x API in gocv / 1.x API in opencv
go-cairo - Go binding for the cairo graphics library
go-nude - Nudity detection with Go.
Primitive Pictures - Reproducing images with geometric primitives.
pigo - Fast face detection, pupil/eyes localization and facial landmark points detection library in pure Go.
svgo - Go Language Library for SVG generation
resize - Pure golang image resizing
gocv - Go package for computer vision using OpenCV 4 and beyond.
lilliput - Resize images and animated GIFs in Go