2010-12-12 3 views
1

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

<?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); 

?> 

ответ

0
// Create an image 

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

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

// Make the background white 

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

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

+0

Я отредактировал сценарий сообщения для моего нового сценария. Показывается черным. – Seth

+0

AH! ПОНЯЛ! СПАСИБО. – Seth

0

Это распространенная проблема, и ответ уже доступен по адресу stack overflow; Ответ там прекрасно устраняет проблему. Вы можете попытаться найти труднее :)

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

+0

Я искал 3 дня, и ничего не работало. – Seth

+0

@Seth: Как отмечено в обсуждении, связанное с El Yobo, вы должны выделить фиктивный цвет перед тем, как выделить белый цвет, поскольку вы не можете использовать первый выделенный цвет как прозрачность. Кроме того, перед определением вы используете '$ white' в своем коде. – nico

+0

Так вот так? (см. выше) – Seth

Смежные вопросы