How can I manually read/write a PNG image file in C#? : There are already lots of classes and functions supplied with the .NET to manipulate Images including PNG. Like [Image, Bitmap, etc. classes][1].

But, if I want to manually read/write a PNG image as a binary file, what should I do?

Where should I start?

  [1]: http://stackoverflow.com/questions/100247/reading-a-png-image-file-in-net-2-0