rust-skia
canvas
Our great sponsors
rust-skia | canvas | |
---|---|---|
7 | 7 | |
1,314 | 1,566 | |
3.7% | - | |
9.5 | 8.6 | |
4 days ago | 12 days ago | |
Rust | Rust | |
MIT License | 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.
rust-skia
-
Integrate with Skia GL
The only example that shedded some light on the integration was gtk4 + femtovg. So I mimicked the example, using gtk4-rs and Skia's rust bindings. I had some code similar to the following inside a subclass of GLArea to setup Skia's DirectContext, but it failed:
-
A simple 2d graphic library
Checkout rust-skia.
-
Recommended UI framework to draw many 2D lines?
Skia (https://github.com/rust-skia/rust-skia) which I think does a mix of software and gpu rendering
-
Dioxus: User interfaces that run anywhere
I‘d probably look into Skia first, it also drives Flutter. https://github.com/rust-skia/rust-skia
- Add WebAssembly support to skia-rust
-
Most effective way to be ready for 2D graphics?
I have been looking around for a suitable vector graphics library to use. My short list is: skia-safe, skulpin, nannou, and cairo.
-
Question: Rust as centralized place for platfor and framework agnostic business logic. Is this possible?
Flutter uses skia which implements a common API for all these GPU rendering backends. Maybe rust-skia is a good fit for your needs, but be prepared to lose lot of the time you saved by using a single codebase into coding your common UI framework :P
canvas
- Skr-canvas – No system dependencies, no postinstall scripts
- skr-canvas 0.1 released, drop in replacement for node-canvas. 0 system dependencies! 0 post install scripts! Support all active Node.js versions!
- skr-canvas now has out of box support for `node:lts-alpine` on both x64 and arm64! Just try it out by: `docker run --rm -it node:lts-alpine sh` and `yarn add @napi-rs/canvas`
- Just published @napi-rs/canvas v0.0.4. Support full featured PathKit functions, and text rendering/metrics will be released soon.
- Another skia binding just for building node-canvas alternative
-
Out of box canvas implementation by napi-rs and skia, zero system dependency, and no postinstall scripts. We are very close to complete its functionality, just try it with npm install @napi-rs/canvas
The goal of this project is to implement a superset of node-canvas with better performance in most scenarios. For now, Image decode/encode is partially supported, including png/jpeg/webp. Text rendering and text metrics is on the way, we have issue to track the progress https://github.com/Brooooooklyn/canvas/issues/156
What are some alternatives?
nannou - A Creative Coding Framework for Rust.
napi-rs - A framework for building compiled Node.js add-ons in Rust via Node-API
filament - Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
node-canvas - Node canvas is a Cairo backed Canvas implementation for NodeJS.
vulkan-tutorial-rs - Vulkan tutorial written in Rust using Ash
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
Skity - A light weight 2D Vector Graphic renderer library writing in c++ for OpenGL3.3+ / OpenGLES3.0+ / Vulkan 1.1+/ WebGL2 with WASM
minesweeper - Minesweeper game developed with Rust, WebAssembly (Wasm), and Canvas
skulpin - Skia + Vulkan = Skulpin
ux-animate - A simple but powerful tweening, spring physics, animation library for Rust
docx-you-want - An unusual PDF-to-DOCX converter.
node-rs - Node.js bindings ❤️ Rust crates