Единственное что я сегодня в гугле изучил так это вот, imageCreate(300, 300); imageCreateColor()(хз даже, я так и не понял зачем это) imageColorAllocate(255, 255, 255) imagepng()(вроде)
Стандартными средствами это делать мягко говоря непрятно, если ты еще не написал свой SDK для этого. Лучше найти какую-нибудь сторонюю лтбу и юзать её вместо GD