現在、base64 pngから画像を作成していて、別のpngをマージしています。私のコードは次のように見えますが、$ fileNameにの出力はまだ元の画像であっても、単に空temp.pngです:PHP GD画像がマージされていません
session_start();
$email = $_SESSION['email'];
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$fileData = base64_decode($img);
$fileName = "./gallery/" . bin2hex(openssl_random_pseudo_bytes(16)) . ".png";
file_put_contents($fileName, $fileData);
//Merge Two Images
header ("Content-type: image/png");
$background = imagecreatefrompng($fileName);
$pkt = imagecreatefrompng("./frames/frame1.png");
$insert_x = imagesx($pkt);
$insert_y = imagesy($pkt);
imagecopymerge($background,$pkt,0,0,0,0,$insert_x,$insert_y,100);
imagepng($background,"temp.png",100);
多分あなたのpngトランスパランスに関するものです。 [この質問]を確認してください(http://stackoverflow.com/questions/5529306/i-cant-use-transparent-background-with-imagecopymerge) – cwps