there are excellent free PNG-libraries, so you don't need to know all the techstuff. (But I don't know if you can use/import those libraries into your programming language you use)
Anyways, to learn about PNG, all you need is:
http://www.libpng.org/pub/png/
=>
http://www.libpng.org/pub/png/book/toc.html
PS: PNG seems like a complicated format at first (if you are new to fileformats), but is actualy a very easy to understand and strait forward format...