Почему, задумку поняли. Если бы у исходных ПНГ не варьировалась прозрачность, все было бы так просто, даже шаблона бы не потребовалось - просто поднять альфу всех пикселов до 100%. Но автор упомянул, что изображения уже с прозрачностью, и это сильно осложняет дело - если уменьшать альфу в два раза, мы потеряем половину диапазона при восстановлении (все нечетные значения приведутся к четным - это же не float). И это не тру, так что не, не пойдет.
Другой вариант - воспользоваться открытостью формата, как предлагал
GAIKER. Можно добавить 8-битную карту прозрачностей отдельным chunk'ом. Если уж на то пошло, "портить" картинку можно просто "лишая" ее альфа-канала, если он жизненно важен для использования изображения - просто записывать его в кастомный chunk и в клиенте оттуда копировать BitmapData::copyChannel. А скачанный с сервера файл будет просто непрозрачным на каком-нибудь резвом (красном?)) фоне. Только в принципе "починить" такое изображение не очень сложно, если понять, что с ним сделали. Вот хранение в пингах хэшей, или ключей - с этим можно поиграться.