I am developing an image manipulation application which has to be able to work on large images e.g. those taken by a camera, the approach I'm taking is to split the source image into multiple suitably sized tiles so that the tiles can be loaded individually into memory as a Bitmap without exceeding the dreaded VM limit, next image manipulation is performed on a tile by tile basis, this is all well and good but until I want to stitch these tiles back to a final jpeg image.  

I'm looking for a built in sdk api or free ware solution that can perform the following:  

- Open jpeg output file as output stream

- Stream RGB pixels from bitmap (tile 1) to jpeg output stream

- Stream RGB pixels from bitmap (tile 2) to jpeg output stream

- etc.. for all tiles

- Close jpeg output stream

Any ideas or pointers other than writing my own jpeg encoder?