Read and write
Decode and encode PNG, PPM, and BMP.
RGBA8 image surface · Ruby
Dependency-light image I/O and mutable RGBA8 surfaces with predictable top-down storage.
gem install tessel
Read common formats, edit clipped regions, and pass image data through the graphics stack.
Decode and encode PNG, PPM, and BMP.
Fill, alpha-blit, mask, crop, and resize.
Report unsupported formats and pixel limits explicitly.
A small first step
Install the gem, then follow the project guide for platform requirements and the full API.
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