Я пытаюсь сделать imageA.png прозрачный затем объединить его с другим полностью прозрачным изображением, используя imagecopy
функция, но после слияния, imageA.png становится белым фоном вместо прозрачного
Вот что я использовал
Это автономный файл для преобразования изображения в прозрачное (работает):
$img = imagecreatefrompng("imageA.png");
$white = imagecolorallocate($img, 255, 255, 255);
imagecolortransparent($img, $white);
header('Content-Type: image/png');
imagepng($img);
и этот должен объединить вышеупомянутый результат с другим прозрачным изображением
$src = imagecreatefrompng("imageA_transparent.png");
$dest = imagecreatefrompng('another_transparent_image.png');
imagesavealpha($dest, true);
imagealphablending($dest, true);
imagecopy($dest, $src, 0, 0, 0, 0, 400, 400);
результат imageA_transparent.png
становится с белым фоном, в то время как это фактически прозрачно по второму прозрачному используемому изображению (another_transparent_image.png)
Я пытался использовать нормальное фотошоп прозрачное изображение и это сработало без проблем
Я пытался использовать оба imagesavealpha
а также imagealphablending
с $src
и без эффекта
imagecopy
** Наконец, когда я пытался открыть imageA_transparent.png
(Php-сгенерированное прозрачное изображение), В фотошопе, он появился с белым фоном и заблокированным слоем, это означает, что PHP не преобразовал его в прозрачный / png должным образом (я полагаю)
Задача ещё не решена.
Других решений пока нет …