Как сами понимаете, возразить мне нечего.
Но, подключая эту библиотеку, я двумя строчками добиваюсь нужного результата:
функция CreateFromARGB принимает массив цветов, ну а Save, как понятно, сохраняет в нужном формате — то есть в PNG.
А если работать напрямую с LibPng, я подозреваю, все будет сложнее.
У меня сейчас не такой опыт работы с VC, чтобы идти по самому грамотному пути — пока что приходится кое-где срезать.