Exploring Algorithmic Image Processing for Large Format Printing | May 24 2026, 22:40

I’m playing with algorithmic image processing. Images only look interesting when printed in a large format – because all these fine lines merge when scaled to a phone screen. I’ll post a close-up in the comments.

It works like this: an image is given as input, and it is divided into squares of different sizes. Each square represents one number: how dark it is. The darker it is, the more lines are drawn inside. The lines are not straight – they are Bezier splines. They smoothly transition from one square to another because the points at the boundaries are shared. What results is not a grid, but a single continuous thread. Color – the image is split into CMYK channels (like in printing). Each channel is processed separately: its own grid, its own lines. Then the layers are superimposed on each other – and from three or four black-and-white plates, a colored picture emerges.

The image doesn’t look blocky because the splines smoothly transition from one square to another, but there is a problem: dividing the image into 10×10 squares essentially reduces the resolution tenfold. To correct this, several passes are made with different square sizes and shifted grids. The first pass uses large cells, the second is finer and shifted 10 pixels to the right, the third is even finer and shifted diagonally.

The entire process is controlled by a JSON config – separate parameters for each channel, specific settings for each pass within a channel. On output – SVG, which can be scaled to the size of a wall without loss of quality, and PNG, in which CMYK layers are superimposed with transparency.

Leave a comment