У меня возникла небольшая проблема слияния нескольких прозрачных pngs друг на друга. Я пытаюсь создать инструмент, который разрабатывает ремень на экране для пользователя, позволяя им выбирать ремень, пряжку и дизайн.Слияние нескольких прозрачных изображений PNG с php
Инструмент объединит три разных изображения в один, чтобы создать одно изображение предварительного просмотра. Когда я запускаю код ниже, он создает изображение на ремне, правильно добавляет пряжку, но на правой стороне ремешка появляется черный ящик, выглядящий примерно того же размера, что и изображение с пряжкой. I не может понять, в чем проблема.
Это моя первая работа с изображениями, использующими php, поэтому я могу пропустить очевидное. если кто-нибудь может мне помочь, я был бы очень благодарен. заранее спасибо!
header('Content-type: image/png');
$strap = imagecreatefrompng("images/straps/DBR.png");
$w = imagesx($strap);
$h = imagesy($strap);
imagealphablending($strap,true);
$buckle = imagecreatefrompng("images/buckles/" . $buckle . ".png");
imagealphablending($buckle,true);
$crease = imagecreatefrompng("images/skull.png");
imagealphablending($crease,true);
imagecopy($strap,$buckle,200,0,0,0,$w,$h);
imagecopy($strap,$crease,0,0,0,0,$w,$h);
//imagecopy($photo2,$crease,200,0,0,0,$w,$h);
// fill the image background with white
imagepng($strap);
imagedestroy($strap);
imagedestroy($buckle);
UPDATE: Это мой текущий исходный код
$strap = imagecreatefrompng("images/straps/DBR.png");
$w = imagesx($strap);
$h = imagesy($strap);
imagealphablending($strap,true);
imagesavealpha($strap, true);
$buckle = imagecreatefrompng("images/buckles/" . $buckle . ".png");
imagealphablending($buckle,false);
imagesavealpha($buckle, true);
$crease = imagecreatefrompng("images/skull.png");
imagealphablending($crease,false);
imagesavealpha($crease, true);
imagecopy($strap,$buckle,200,0,0,0,$w,$h);
imagecopy($strap,$crease,0,0,0,0,$w,$h);
imagepng($strap);
imagedestroy($strap);
imagedestroy($buckle);
Возможный дубликат http://stackoverflow.com/questions/1394061/how-to-merge-transparent-png-with- изображения с помощью-PHP. – Jon
Другой вопрос не касается той же проблемы, с которой я сталкиваюсь. – Jesse