Skip to content

About

Painting by numbers in Excel.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Boondoggle

Painting by numbers

Draws an image into the background of a spreadsheet.

This was originally a learning project for Apache POI, now rewritten in Python.

For an example output, check demo_sheet.xlsx.

Quick Start

From ghcr.io

You can run this direct from the container registry with:

docker run -p 9731:9731 ghcr.io/metriccaution/boondoggle:latest

From Source

The quickest and easiest way of trying out this project is with Docker Compose, then go to http://localhost:9731/docs:

docker-compose up --build

If you have uv installed, you can also run:

uv run fastapi run server.py

Dev Mode

To run the server watching source code for changes, run it as:

uv run fastapi dev server.py

Command-Line Tool

There is also an included tool for converting a directory of images into a single workbook:

uv run cli.py ./path/to/images/ masterpiece.xlsx

Operation

In simple terms, an image is read, pixel by pixel and the background colour of a single cell is filled in that colour.

Some image compression is done to make this take a sane amount of time

  • Scaling images - Restricting the resolution of an image limits the number of cells which need writing.
  • Colour quantisation - Each cell style is an entity within an XLSX file, by restricting the number of colours, and reusing these styles for each colour, write time is (significantly) reduced.

About

Painting by numbers in Excel.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages