Наложение изображений в PHP;Черный фон? - PullRequest
1 голос
/ 12 декабря 2010

Когда я выполняю и накладываю изображения в php с помощью библиотеки GD, я всегда получаю черный фон, однако все изображения накладываются правильно. Может кто-нибудь помочь?

<?php

    $images = array( $_GET['color'], $_GET['face'], $_GET['hat'] );


    $img = imagecreatetruecolor(58, 75);

    imagealphablending($img, true);
    imagesavealpha($img, true);

    imagecolorallocate($img, 255, 205, 255);
    imagecolorallocate($img, 255, 255, 255);
    imagecolortransparent($img, $white);

imagefilledrectangle($img, 0, 0, $imgWidth, $imgHeight, $white);
    foreach($images as $fn) {

        $cur = imagecreatefrompng($fn);
        imagealphablending($cur, true);
        imagesavealpha($cur, true);


        imagecopy($img, $cur, 0, 0, 0, 0, 58, 75);


        imagedestroy($cur);
    }   


    header('Content-Type: image/png');
    imagepng($img);

?>

Ответы [ 2 ]

0 голосов
/ 12 декабря 2010

Это распространенная проблема, и ответ уже доступен для переполнение стека ;ответ там решает проблему отлично.Возможно, вы захотите попробовать поискать сложнее:)

Я бы посоветовал вам сделать вашу жизнь проще, используя гораздо более мощную (но, к сожалению, плохо документированную) библиотеку imagick , если вы собираетесьпопытаться сделать что-то большее, чем самые простые манипуляции с изображениями;это быстрее, проще (опять же, как только вы ознакомитесь с документацией) и мощнее.

0 голосов
/ 12 декабря 2010
// Create an image

$img = imagecreatetruecolor($imgWidth, $imgHeight);

$white = imagecolorallocate($img, 255, 255, 255);

// Make the background white

imagefilledrectangle($img, 0, 0, $imgWidth, $imgHeight, $white);

... может помочь.

...