I have a PNG file which is a greyscale image and I want to do calculations on the data within it. I don't need to display it, I just need to get at the pixel data and assemble a 2D array of the 16 bit values.

But... I don't want to convert it to a Bitmap (been down that route already) because I lose the 16 bit resolution.

Is there a way I can read the PNG pixel data?, or maybe a way I can convert it directly to a 48bit Bitmap and go from there?