BUMP: I'm currently trying to do exactly this with a thermal printer and the Ada 1.8" TFT w/ joystick and sd card
With the dynamic cast to Stream *, it sort of prints, but is inverse and upside down. So yeah, looks like the printBitmap( Stream * ) function is not expecting the same input as the processing image convert sketch is... I've started a write up here about my project
Since no Arduino can store the 18k byte array for a 384x384 mono bitmap in SRAM, I'm trying to use the SD card for that. I've gotten every other example working (as well as combining them all) so that I can print on the printer that I've opened a file from SD Card and it even tried to print my business's logo, only incorrectly.
My chances appear to be:
[*]use processing bitmapImageConvert.pde to save the file on the SD Card and somehow treat it like a byte array
[*]convert the printBitmap(Stream *) function to either discover the Endian-ness of the bitmap or just alter it accordingly
[*]translate bitmapImageConvert.pde to work in the sketch
I'm using a Mega, so I'm only 37k into its 256k program memory...