A BMP decoder in JS for the HTML5 Canvas element