Thanks for the tips you guys, I have finally made it go at a speed that is acceptable, I have updated the .zip file so you can have a look for yourself, the mostI have had to wait was about 1 second, and that was when I inverted a gargantuan image of dimensions 5120 by 1024 pixels, if you want to see it, it is here.

Thanks for all your help, I may extend the program to offer grayscale, and brightness changing.

Angus Higgins