Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2011
Помог: 0 раз(а)
|
Добрый день, господа
Подскажите пожалуйста, как грамотно решить такую задачу:
Есть текст, его нужно сделать картинкой, чтобы на ней был только текст и ничего лишнего, писаться текст будет несколькими шрифтами и размерами. Заранее высота и ширина картинки неизвестны.
Я дошел до функции imagettfbbox, получил, как я понял, ширину и высоту самого текста:
CODE ( htmlphp):
скопировать код в буфер обмена
$box = imagettfbbox($size, 0, $font, $text); if($box['0'] <= $box['6']) {$l_c = $box['0'];} else {$l_c = $box['6'];} if($box['2'] >= $box['4']) {$r_c = $box['2'];} else {$r_c = $box['4'];} if($box['5'] <= $box['7']) {$t_c = $box['5'];} else {$t_c = $box['7'];} if($box['1'] >= $box['3']) {$b_c = $box['1'];} else {$b_c = $box['3'];} $text_width = $r_c - $l_c; $text_height = $b_c - $t_c; $image = imagecreatetruecolor($text_width, $text_height); imagefill($image, 0, 0, 0); imagettftext($image, $size, 0, $x, $y, 0xffffff, $font, $text); //Тут главная проблема header("content-type: image/png"); imagepng($image); imagedestroy($image);
Никак не могу понять, как правильно рассчитать $x и $y, чтобы текст лег ровно на изображение, если $x=0, а $y=$text_height, то получится картинка как в аттаче: по горизонтали текст съехал вправо, а по вертикали вниз. Прикреплено изображение (Нажмите для увеличения)
(Отредактировано автором: 07 Января, 2011 - 12:23:18)
|