Как залить фон у png изображения при помощи php?
php.net/manual/ru/book.image.php
Создаёте изображение такого же размера, заливаете фон, после добавляете png'шку поверх созданного изображения и сохраняете результат.
Все что связано с изображением на стороне сервера делаю при помощи вот этой замечательной штуки ( https://github.com/claviska/SimpleImage ) Попробуйте, может вам это облегчит задачу