My plan of attack was to take each pixel triplet of the RGBSurface of an image and convert it to a Vector. From there the vector would be multiplied by a matrix. I have a few matrix classes that I've written over the years. The one in this project is a stripped down version for image processing. Many sources on the net list these matrices, so it would be straight forward to add them to this project.
The vector time matrix function returns another vector. These converted triplet values are then assigned back to the RGBSurface via its' Pixel method.
These transforms should work on all platforms on any version that supports an RGBSurface object. The speed of the routines are of course horrible compared to the built-in Transform method, but are "acceptable" in my opionion.
The project comes with a 358 by 532 JPEG image. In the built application it takes about 3.5 seconds to open this image reversed and around 2.5 seconds to alter once the app is running on my not so new "sunflower" iMac. Not bad until you compare it to the native Transform method, 0.10 seconds!
The project places the time it takes to process in the window title and has image routines for Reverse, Brightness, Luminance (black and white), Saturation, Scale and Rotate. Free to use as is. Code available as is the built binary for Mac.