以下の様なことがしたい!
背景
ロゴ
合成後画像
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