The Tetris Printer Algorithm, created by Software architect Michael Birken, is a program with the ability to draw using Tetris pieces. By autonomously playing the famous puzzle game, the algorithm can create images by rotating, positioning and dropping Tetriminos.
The program works by comparing individual image pixels to the Tetris blocks available on the playfield, selecting the closest match. After this, the algorithm will place this individual square in the right position; but of course this comes with other connected squares. These are eliminated as the game is played out and the rows are wiped in the standard fashion.
Birken demonstrates the software by drawing Bubble Bobble's Bub,Zelda's Link, and Metroid's Samus Aran, among others. Beyond this, he also has a full explanation over on his site.