Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > Подскажите ошибку в коде смешивания картинок


Автор: vpokorp 17.5.2011, 15:33
Код

<?php
$serv = $_SERVER['HTTP_HOST'];
    header("Content-type: image/jpeg");
    $im1 = imagecreatefromjpeg("11.jpg");
    $w=imagesx($im1);
    $h=imagesy($im1);
    $h2 = 3*$w/strlen($serv);
    
    $im2 = imagecreate ($w, $h2);// создали пустую картинку
    $background_color = imagecolorallocate ($im2, 255, 255, 255);// белый фон
    $color = imagecolorallocate ($im2, 0, 0, 0);// черный цвет букв
    $u = 0;//угол
    $dw = 5;// смещ по горизонту
    $sr = 1;// тип шрифта
    $r=($w*1.5)/strlen($serv);// размер шрифта
    $dh = 1.5*$r;//смещение по высоте
    
    ImageTTFtext($im2, $r, $u, $dw, $dh, $color, $sr.".ttf", $txt);// написали на нем текст сервера
    
    $white = imagecolorallocate($im2, 255, 255, 255);// установили прозрачный цвет
    imagecolortransparent($im2, $white); 
    
    imagecopymerge($im1, $im2, 0, $h/2, 0, 0, $w, $h2, 100);// смешали картинки

    imagejpeg($im1);// вывели 
    imagedestroy($im1);

?>


он рисует надпись на картинке адреса сайта, однако почему-то белый фон не становится прозрачным, в чем проблемма?  smile 

Автор: vpokorp 17.5.2011, 18:43
если смешивание происходит с уже готовым файлом, то прозрачность устанавливается только если файл записан в разрешении Truecolor 24бит. В остальных режимах тоже не работает.
А как указать, чтобы изображение создавалось в этом  режиме?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)