I added another article in the 'Basic C# Examples'-series. ;)
It should answer the question of how to make nonsquare windows?
There is another example out there (which I can't find the link of anymore) that uses pointers to run over the image. Because of performance issues. So, I decided to take the GetPixel approach and see if it worked. And it does ;) Don't notice any performance hit here thou, maybe on weaker computers..