以下の様なことがしたい!
背景

ロゴ

合成後画像

PHPのサンプルソース
$background = imagecreatefrompng ( "res/background.png" );
$bkWidth = imagesx ( $background );
$bkHeight = imagesy ( $background );
$logo = imagecreatefrompng ( "res/php1_2_logo.png" );
$logoWidth = imagesx ( $logo );
$logoHeight = imagesy ( $logo );
ImageCopy ( $background, $logo,
($bkWidth - $logoWidth) / 2, ($bkHeight - $logoHeight) / 2,
0, 0, $logoWidth, $logoHeight );
imagepng ( $background, "out/output.png", 9 );
以下補足情報
画像周りのPHPの関数紹介
imagecreatefrompng ( filePath );
指定したパスからpng画像を読み込むことができます。
pngのところを変えればjpeg,gifも読み込めます。
imagecreatefromstring( imageData );
イメージストリームから新規イメージを作成します。
画像がbase64形式でアップロードされた時なんかに使うかも(使った)
拡張子は割りと融通がきくみたいです。
imagex( imageData );
imagey( imageData );
画像リソースの高さと幅を取得します。
imagepng ( imageData, filPath, quality );
ファイル出力
これもpngの部分を変えればjpegとかgifとかいけます。
主要なものを上げてみたけどマニュアル見たほうが早いかもね。
http://php.net/manual/ja/ref.image.php