PHP: Imagecopy и Imagecopymerge не работают с двумя png

98
6

Я бы поместил изображение логотипа в другое изображение, два изображения - png, я пытаюсь обе функции imagecopy и imagecopymerge, но ничего не делать, я не вижу результата при открытии образа на диске, однако обе функции возвращают true. Кто-то может мне помочь, вот код, который я использую:

     $data = substr($_POST['imageData'], strpos($_POST['imageData'], ",") + 1);
$decodedData = base64_decode($data);
$img = "assets\\images\\simulation\\user\\img777.png";
$srcpath = "assets\\images\\logo.png";
fp = fopen($img , 'wb');
fwrite($fp, $decodedData);
fclose($fp);//work until this place
$dest =imagecreatefrompng($img);
$src =imagecreatefrompng($srcpath);
imagecopy ($dest,$src, 0, 0, 0, 0, imagesx($src),imagesy($src));

// or imagecopymerge ($dest,$src, 0, 0, 0, 0, imagesx($src),imagesy($src), $pct); with $pct =0 or 50

/*or i have also try : $cut = imagecreatetruecolor(imagesx($src),imagesy($src));
imagecopy($cut, $dest, 0, 0, 0, 0, imagesx($src),imagesy($src));
imagecopy($cut, $src, 0, 0, 0, 0, imagesx($src),imagesy($src));
imagecopymerge ($dest,$cut, 0, 0, 0, 0, imagesx($src),imagesy($src), $pct); with $pct =0 or 50*/

вот пример изображения logo.png: http://upload.wikimedia.org/wikipedia/commons/4/48/EBay_logo.png

Вот и другие image.png: http://www.noelshack.com/2014-40-1412264764-img68634dxn777.png

результат будет таким же, что image.png...

вы можете мне помочь, спасибо.

спросил(а) 2021-01-25T15:31:56+03:00 4 месяца, 4 недели назад
1
Решение
99

Я решил эту проблему следующим кодом:

    imagealphablending($dest, true);
imagealphablending($src, true);
imagesavealpha($dest, true);
imagesavealpha($src, true);
imagecopy ($dest,$src, 5, imagesy($dest) - (imagesy($src)+5), 0, 0,imagesx($src),imagesy($src));
imagealphablending($dest, true);
imagesavealpha($dest, true);
imagepng($dest,$img);
imagedestroy($dest);
imagedestroy($src);

на месте:

    $dest =imagecreatefrompng($img);
$src =imagecreatefrompng($srcpath);
imagecopy ($dest,$src, 0, 0, 0, 0, imagesx($src),imagesy($src));

ответил(а) 2021-01-25T15:31:56+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема