Blendend - blend2d-powered 2D vector rendering for Elixir

Hey everyone,

I just released blendend to Hex — a set of NIF bindings that bring
Blend2D’s fast, high-quality 2D vector renderer to Elixir.

If you’ve ever wanted to do crisp 2D drawing from Elixir (antialiasing, gradients, text, etc.) without jumping out to another language or service, this might be useful. You get:

  • Canvas API for fills/strokes, paths, transforms, compositing

  • Text loading/layout with glyph measurement and crisp rendering

  • Gradients, patterns, blur effects, masks

  • Macros for compact drawing pipelines

    Requirements

    • Blend2D installed and linkable (-lblend2d) (there are instructions in README)
    • C++ toolchain (C++17) for the NIF build

    Docs & examples

If you try it out, I’d love to hear your feedback, ideas and PRs.

8 Likes

This looks interesting. I saw you’re using elixir_make. There’s also GitHub - elixir-nx/fine: C++ library enabling more ergonomic NIFs, tailored to Elixir for c++ nifs specifically.

2 Likes

Thanks! I saw elixir-nx/fine, started this before it was on my radar. I’m interested in migrating pieces if it simplifies the C++ side; I’m planning a tidy-up there, so I’ll take a look.