Quote Originally Posted by fire_ View Post
Well i don't have to do it in any specific way. I can use any header and lib wich comes with visual studio (no user-made thoug). Is there any function wich could do defiltering and decompresion for me? Because i didn't understand how filtering and compresion is done and i doubt i could reverse that manualy...
As I understand the Wikipedia article, the deflate decompression can be done unsing the zlib library mentioned in the Wikipedia article. There's a link to the Wkipedia article on zlib and a I guess that one couold contain a link to a site where you can obtain the library itself. Otherwise Google is certainly helpful.

I never have implemented it myself nor have I seen a concrete implementation, but the filtering algorithm apparently is far less sophisticated than the compression. I don't think it's too much hassle to implement that yourself. Aside from that, as I already mentioned, your sample image isn't pre-filtered anyway (filter method 0).

There's also a bunch of 3rd-party image handling libraries out there, some of which are free and come with source code. The one with the logically chosen name is libpng.

However...

Quote Originally Posted by VladimirF View Post
Does GDI+ come with your version of Visual Studio?


If you're allowed to use this, of course the assignment practically decays to mere pixel counting. But then I would wonder why the term "PNG" is mentioned there at all...