canvas
imaginary
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.
canvas
-
Canvas vector graphics update: rich text and path boolean operation support
I wanted to share a recent large update to https://github.com/tdewolff/canvas, which is a vector graphics library written in Go to create images, PDFs, SVGs, OpenGL, etc. using vector drawing operations. Especially I wanted to show two new exciting features:
-
Client-side scripting for in-browser graphics.
It appears that there's a port of Cairo to Go which also targets webassembly. https://github.com/tdewolff/canvas
- Pixie – A full-featured 2D graphics library for Nim
-
Processing equivalent in GoLang
https://github.com/tdewolff/canvas/blob/master/examples/opengl/main.go can draw primitves but i think it would be a bit hard to do event based animation
-
tdewolff/canvas: vector graphics in Go (mayor update)
Yes! See https://github.com/tdewolff/canvas/tree/master/examples/gonum-plot for an example using gonum-plot. You should be able to plug-and-play to use the canvas library!
- Cairo in Go: Vector to SVG, PDF, EPS, Raster, HTML Canvas, etc.
imaginary
- Golang libraries for image compression / resizing / manipulation
-
Plugin to auto-convert uploaded images to WEBP?
WebP also frequently produces lower quality or blurry images: - https://wordpress.org/support/topic/images-going-blurry/ - https://github.com/h2non/imaginary/issues/240
-
Announcing Nextcloud Hub 3 – Brand New Design and Photos 2.0 with Editor and AI
One thing I didn't mention that AIO includes is a container called imaginary which is written in Go and processes images. I think this is mainly used here for generating image previews in NC.
-
Imagor 0.8.5: fast image processing server - now with animated GIF resize, crop, watermark and more
Thanks. This is new to me. How is it different from https://github.com/h2non/imaginary?
-
Imagor is a fast, Docker-ready image processing server written in Go
There is also battle-tested imaginary tool [1], offering similar functionality and much more, also using libvips
[1] https://github.com/h2non/imaginary
-
Deploy your own image processing API using Imaginary
Imaginary is a fast HTTP microservice written in Go allowing high-level image processing. Behind the scene, imaginary uses bimg and libvips libraries to perform the image manipulations.
What are some alternatives?
svgo - Go Language Library for SVG generation
imagick - Go binding to ImageMagick's MagickWand C API
gg - Go Graphics - 2D rendering in Go with a simple API.
resize - Pure golang image resizing
tiny-skia - A tiny Skia subset ported to Rust
imaging - Imaging is a simple image processing package for Go
generative-art-in-go - A companion source code repository to the book "Generative Art in Go"
bimg - Go package for fast high-level image processing powered by libvips C library
go-cairo - Go binding for the cairo graphics library
Primitive Pictures - Reproducing images with geometric primitives.
bgracontrols - 🆗 BGRA Controls is a set of graphical UI elements that you can use with Lazarus LCL applications.
thumbor - The quickest way to run thumbor.