изображение — PHP конвертировать в прозрачный буквально не делает его прозрачным

Я пытаюсь сделать 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 должным образом (я полагаю)

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]