#php #symfony #fonts
#php #symfony #шрифты
Вопрос:
Я пытаюсь сделать некоторый текст и преобразовать его в изображение.
Я получил некоторый код из руководства по php.
Я работаю над этим в symfony 3.1
Единственная проблема, с которой я сталкиваюсь, это как задать путь для шрифта.
Файл roboto-regular.ttf находится в моем каталоге /web.
Мой код:
//setting the content type
header('Content-Type: image/png');
// Create the image
$im = imagecreatetruecolor(400,30);
// Create Some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// The text to draw
$text = 'Testing';
// Replace path by your font path
$font = 'Roboto-Regular.ttf';
// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Using imagepng() resulst in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
Ответ №1:
На самом деле нет прямого способа получить путь к webdir в Symfony2, поскольку фреймворк полностью независим от webdir. Но вы можете использовать getRootDir()
:
$path = $this->get('kernel')->getRootDir() . '/../web';
Ответ №2:
$this->get('request')->getBasePath();
$this->get('request')->getBasePath();
напрямую поместит вас в веб-каталог