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


Автор: izOne 14.12.2005, 18:54
Код

$bg = imagecreatefrompng(CFG_DIR_APPLICATION.'/img/m'.$level.'.png');
$box = _getCharacterSize($size, 0, $font, $text);
$boxWidth = $box[2]-$box[0];
imagettftext($bg, $size, 0, $x, imagesy($bg)-2, imagecolorallocate($bg, 0,102,102), $font, iconv('Windows-1251', 'UTF-8', $text));
$im = imagecreatetruecolor($boxWidth+20, imagesy($bg));
imagecopy($im, $bg, 0, 0, 0, 0, $boxWidth+$x,imagesy($bg));

$out = $dir.'/'.$sid.'m'.$level.'n'.'.gif';
if(imagepng($im, $out, 100)){
    touch($out, time());
    return substr($out, strlen(CFG_DIR_WWW));
}


Теряется прозрачность изображения. Если писать if(imagepng($bg, $out, 100)) то получается нормальная картинка (но не обрезанная до нужных размеров).

Где ошибка? smile

Автор: Mal Hack 14.12.2005, 23:23
Прозрачность PNG не все браузеры понимают.
И вроде как GD не совсем корректно с этим работает.

Автор: Llama 18.1.2006, 19:39
Лучше делать gif-файл, никаких проблем с прозрачностью и весит меньше.
Если конечно формируемая картинка не полноцветная картина. smile

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