2013-11-22 2 views
1

У меня есть 2 изображения как PNG, так и я хочу создать новое изображение PNG. на котором первое изображение будет наложено супер. коды прекрасно работают и генерируют ожидаемое изображение, но все цвета теряются, а выход - изображение в оттенках серого.Наложение изображений с использованием библиотеки GD делает их полутонами. Зачем?

вот мой код

Phone.png файл "http://i44.tinypic.com/2vwilb8.png" и background.png является "http://i43.tinypic.com/2194eu9.png"

$backgroundImage = 'background.png'; 
    $userImage = "http://graph.facebook.com/4/picture?type=large"; 
    $resultImage ='phone.png'; 


    $background = imagecreatefrompng($backgroundImage); 
    $userResultImage = imagecreatefromjpeg($userImage); 
    $result = imagecreatefrompng($resultImage); 


    list($backgroundWidth, $backgroundHeight) = getimagesize($backgroundImage); 
    list($userImageWidth, $userImageHeight) = getimagesize($userImage); 
    list($resultRightItemWidth, $resultRightItemHeight) = getimagesize($resultImage); 

    $newWidth = 800; 
    $newHeight = 800; 

    $new = imagecreate($newWidth, $newHeight); 
    imagealphablending($new, false); 
    imagesavealpha($new, true); 

    imagecopy($new, $background, 0, 0, 0, 0, $backgroundWidth, $backgroundHeight); 
    imagecopy($new, $userResultImage, 40, 300, 0, 0, $userImageWidth, $userImageHeight); 
    header('Content-type: image/png'); 

    imagepng($new,'asdas.png'); 

    imagecopy($new, $result, 490, 170, 0, 0, $resultRightItemWidth, $resultRightItemHeight); 
    header('Content-type: image/png'); 
    imagepng($new, $userID.'.png'); 

ответ

3

Вы должны использовать imagecreatetruecolor() вместо ImageCreate() ...

+1

U знаю что. Если бы вы были здесь со мной, я, должно быть, обнял вас, угощение и очень большое спасибо. Я искал это на весь интернет, и вы спасли мне жизнь. Благодарю. это сработало –

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