Вопрос: Как перевести буквы, если размер строки превышает 100 пикселей? Сохраняя интервал между буквами?
Я не знаю, как это сделать, если предложение ширины строки $ width не подходит, тогда оно должно содержать новую строку, сохраняющую межбуквенный интервал. скажи пожалуйста
Интервал моего кода:
$width = 100; //max 100px in line
$_letter_int = 10; // size letter spacing 10px
$body = 'My name is IxtWall noobs';
$canvas = new Imagick();
$draw = new ImagickDraw();
$color = new ImagickPixel('#00000');
$draw->setFont('Arial.ttf');
$draw->setFontSize(23);
$draw->setFillColor($color);
$draw->setTextAntialias(true);
$left_int = 0;
$global_data = $canvas->queryFontMetrics($draw, $body);
$height = $global_data['textHeight'];
foreach( str_split($body) as $val )
{
$data = $canvas->queryFontMetrics($draw, $val);
$draw->annotation($left_int, $global_data['ascender'], $val);
$left_int += $_letter_int + round($data['boundingBox']['x2']);
}
$canvas->newImage($width, $height, 'none');
$canvas->drawImage($draw);
$canvas->setImageFormat('png');
header('Content-Type: image/png');
echo $canvas->getImageBlob();
Задача ещё не решена.
Других решений пока нет …