2.8inch Capacitive Touch Screen Shield - Image Resize

does any body know of any Arduino image processing libraries to resize bmp images on Arduino?

I would like to load an image on the SD card and let my Mega process and re-size the image accordingly to fit my 2.8 inch touch screen shield. Just to do simple image edits like re-sizing to a given size.

Or is the only solution to convert the images before loading them to the SD card?

Well, you could do the re-sizing with an Arduino if you wanted to. It would be fairly slow and primitive.

The obvious thing is to use the PC to do the scaling and any change of format.
I am guessing that your TFT is 240x320 with 65536 colours.

If you want to reduce a 1024x800 BMP to 320x240 you need to dither the colours and use complex algorithms to determine the output.

The convention is to store a 240x320 BMP with 24-bit colours. (16M colours)
This means that the Arduino has to convert the 888 format to the 565 format that is commonly used by your TFT library.

In fact, there are legal BMP formats that will store directly as 565. And the PC will display them just as well as a 888 (24-bit) BMP. If you store in 565 format on the SD disk, it means the Arduino will spend less time reading the smaller (16-bit) BMP from disk.

Note that most BMP example programs for the Arduino will expect the 24-bit (888) BMP files.