Is there any c function that allow me to convert a raw image to a PNG file? Preferably, I don't need to pull in a big library for that.
Thank you.
I'm not sure what you mean by "raw image", but I've found LodePNG easy to work with. http://members.gamedev.net/lode/projects/LodePNG/ There's an example showing you how to encode some raw data to a png
See a related question: Convert bitmap to PNG in-memory in C++ (win32)
The short answer is that GDI+ can convert a bitmap image to PNG (with some limitations), so if you're on Windows it's an option that's even more minimal than libPNG.