Tessel

RGBA8 image surface · Ruby

A small surface for every pixel.

Dependency-light image I/O and mutable RGBA8 surfaces with predictable top-down storage.

gem install tessel

Tessel::Imagerow-major · straight alpha

Keep pixels simple and explicit.

Read common formats, edit clipped regions, and pass image data through the graphics stack.

01

Read and write

Decode and encode PNG, PPM, and BMP.

02

Draw and compose

Fill, alpha-blit, mask, crop, and resize.

03

Handle errors clearly

Report unsupported formats and pixel limits explicitly.

A small first step

Start with one example.

Install the gem, then follow the project guide for platform requirements and the full API.

Read the installation guide ↗

require "tessel"

image = Tessel::Image.new(320, 180, fill: "#101827")
image.fill_rect(20, 20, 80, 40, "#e85d75")
image.write("out.png", filter: :adaptive)

copy = Tessel.read("out.png")
puts [copy.width, copy.height, copy[20, 20]].inspect