Я использую библиотеку Intervention для записи наложенного текста на изображение.
Это прекрасно работает, если предоставленный текст на одном языке (скажем, английском)
Мне нужно написать оверлейный текст на нескольких языках в зависимости от заданного ввода (ввод может быть на любом языке).
Вот моя база кода для генерации вышеупомянутого.
public static function generateTextOverImage($image, $text)
{
$img = Image::make($image->getContent());
$extension = 'jpg';
$centerX = 25;
$centerY = 210;
$text = str_replace('<br>', "\n", html_entity_decode($message)) ;
$lines = explode("\n", wordwrap($text, 21));
$currentLineVIndex = $centerY;
foreach ($lines as $line) {
$img->text($line, $centerX, $currentLineVIndex, function ($font) use ($fontSize) {
$font->file(public_path('fonts/LucidaGrande.ttf'));
$font->size(18);
$font->color('#fdf6e3');
});
}
$encoded = $img->encode($extension);
return $encoded;
}
Поскольку текст может быть на разных языках (один или несколько языков одновременно). Ожидаемый текст поверх изображения в ломаной.
Отлично работает только на английском языке.
Любая помощь будет высоко оценена. Спасибо
Обновление
есть ли какой-нибудь шрифт, который поддерживает несколько языков?