سلام
من پکیج image intervention رو نصب کردم. میخوام روی یک عکس متن فارسی قرار بدم ولی متن فارسی درست نمایش داده نمیشه.
با این کد اومدم متن رو روی عکس قرار دادم
$img->text('محمد رمضانی',80,285,function ($font){
$font->file(public_path('assets/webfonts/ISFaNum.ttf'));
$font->size(18);
});
ولی خروجی متن من به این شکل شده:

چطور میشه از متن فارسی در این پیج استفاده کرد؟
شاید پاسخ شما همینجا باشد
مرسی
من پیکیج زیر رو روی پروژه نصب کردم
composer require eskandari/persianrender
و بعد از کد زیر برای رندر گرفتن تصویر استفاده کردم :
$name = $user->name_n_family_fa ?? " ";
$name = mb_convert_encoding($name, 'UTF-8', 'auto') ?? " ";
$name = \PersianRender\PersianRender::render($name);
$image->text($name, $width / 2, $nameYPos, function ($font) {
$font->file(public_path('font/vazir.ttf'));
$font->size(100);
$font->color('#000000');
$font->align('center');
$font->valign('middle');
});
راستش رو بخواین من اینطوری استفاده کردم
$degree = PersianRender::render($user->job->title_fa);
$fontAssets = base_path('public/assets/panel/fonts/IRANSansWeb.ttf');
$card = Image::make(Storage::disk('liara')->get(get_card_blank()))
->text($degree, 50, 288, function ($font) use ($fontAssets) {
$font->file($fontAssets);
$font->size(14);
});
که در واقع این تکه کد داره یک کارت خام یا همون بکگراند کارت منو از استوریج دریافت میکنه
Storage::disk('liara')->get(get_card_blank())
این کد زیر رو برای چی قرار دادید؟
$name = mb_convert_encoding($name, 'UTF-8', 'auto') ?? " ";