You are going nowhere, in terms of performance, which would be killed by your
GetPixel/PutPixel
. You need to use
System.Drawing.Bitmap.LockBits
instead:
http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.lockbits.aspx[
^].
There is a short and clear code sample on the help page on the first of the methods referenced.
I don't know what's your problem with matrix multiplication; this operation is very simple.
—SA