У меня небольшая проблема при объединении нескольких прозрачных PNG друг на друга.Я пытаюсь создать инструмент, который создает пояс на экране, чтобы пользователь мог выбрать ремень, пряжку и складку.
Инструмент объединит три разных изображения в одно, чтобы создать один предварительный просмотр.образ.Когда я запускаю приведенный ниже код, он создает изображение ремня, правильно добавляет пряжку, но с правой стороны изображения ремня появляется черный прямоугольник, размер которого примерно равен размеру изображения пряжки.Я не могу понять, в чем проблема.
Это моя первая работа с изображениями с использованием 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);
ОБНОВЛЕНИЕ: Это мой текущий исходный код
$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);