Я пытаюсь создать наложение текста на изображение с помощью php и iMagick. Важнейшая часть заключается в том, что я хочу, чтобы размер текста масштабировался, чтобы заполнить предопределенное поле, поэтому я не хочу устанавливать фиксированный размер шрифта. Я нашел код по адресу ImageMagick — текст в прямоугольник, но мне нужно адаптировать этот код для iMagick. . Кажется, я могу делать все, кроме самой важной части -size ${width}x100
Вот код, который у меня есть, с несколькими вещами, которые я пробовал закомментировать
$draw = new ImagickDraw();
$draw->setGravity (Imagick::GRAVITY_SOUTHEAST);
$draw->setFont('Bookman-DemiItalic');
//$draw->setFontSize( 30 ); // don't want to set a fixed font size
$draw->setTextUnderColor('#00000075');
//$draw->setSize(0, 0, 200, 200); // error: Call to undefined method ImagickDraw::setSize()
//$draw->setViewBox(200, 200, 800, 800); // appears to do nothing
//$draw->rectangle(200,200,300,300); // this just draws a separate white box
$draw->annotation(100, 100, 'The quick brown fox jumps over the lazy dog'); // works, but it's a default (small) text size and the box simply fits the exact text with no border
$img->drawImage($draw);
Есть ли вариант размера, который я как-то пропустил в документах?
Обратите внимание, что Как я могу обернуть текст с помощью Imagick в PHP, чтобы он отображался как многострочный текст? частично решает эту проблему, но, похоже, не предлагает масштабирование текста в соответствии с полем фиксированного размера, скорее перенос текста, если выбранный размер шрифта приведет к выходу за пределы текста. Хотя, возможно, я неправильно понял - я попробую!