Узнать размер символа при создании изображения

igortik

Новичок
Узнать размер символа при создании изображения

Всем привет!

Столкнулся с нестандартной задачей - необходимо сгенерировать изображение с произвольным словом, например, "HELLO", при этом важно создать изображение необходимой высоты (именно высоты, так как текст идет снизу вверх и повернут на 90 градусов против часовой стрелки).

Собственно, задача решена уже, но есть нюанс, заключается в том, что не известен размер (высота), которую займет буква на картинке и по этой причине я не могу просчитать какой именно высоты должно быть изображение до наполнения его контетнтом.

Вот функция

PHP:
function mainBlockImage($text,$path,$fontSize=10,$minus_pix)
{
	$height = strlen($text)*$fontSize-$minus_pix;	
	$width = $fontSize;	 
	$image = imagecreatetruecolor($width,$height);  
		
	$font = 'inc/arial.ttf';	
	$background = imagecolorallocate( $image, 255, 194, 70);
	imagefill($image,0,0,$background);
	$white = imagecolorallocate($image, 255, 255, 255);	 	
  	imagettftext($image,$fontSize,90,$width,$height, $white, $font, $text);  	   	
	$name = time().'.gif';
   	imagegif($image,$path.$name);	
  	return $name;
}
$minus_pix я использую для дальнейшей корректировки изображения с целью на глаз определить сколько пикселей необходимо отнять от высоты изображения.

P.S. Буква "А" в любом случае будет занимать меньше места, чем "W" на каких-то пару пикселей, а при полном слове у нас выйдет немалая пустая область в некоторых случаях, если пользоваться моим методом вычислений.

Как бы Вы решали эту задачу? (я не думаю, что есть смысл предлагать описывать размер каждого символа, т.к. при смене размера шрифта или самого шрифта все изменится).
 
Сверху