محمد رمضانی
4 سال پیش توسط محمد رمضانی مطرح شد
4 پاسخ

مشکل متن فارسی در image intervention

سلام
من پکیج image intervention رو نصب کردم. میخوام روی یک عکس متن فارسی قرار بدم ولی متن فارسی درست نمایش داده نمیشه.
با این کد اومدم متن رو روی عکس قرار دادم

$img->text('محمد رمضانی',80,285,function ($font){
        $font->file(public_path('assets/webfonts/ISFaNum.ttf'));
        $font->size(18);
    });

ولی خروجی متن من به این شکل شده:
مشکل متن فارسی در image intervention
چطور میشه از متن فارسی در این پیج استفاده کرد؟


ثبت پرسش جدید
اردلان کرونی
تخصص : طراح سایت
@namirakh 4 روز پیش مطرح شد
0

سلام منم دقیقا همین مشکل رو دارم و تمام منابع فارسی و انگلیسی رو زیر و رو کردم اما راه حلی براش پیدا نکردم کسی نمیدونه چطور باید درستش کنیم؟


محمد رمضانی
تخصص : برنامه نویس BackEnd
@moramzani 4 روز پیش مطرح شد
0

سلام
این لینک رو چک کنید مشکلتون حل میشه

https://github.com/mahmoud-eskandari/PersianRender

موفق باشید


اردلان کرونی
تخصص : طراح سایت
@namirakh 4 روز پیش مطرح شد
0

مرسی
من پیکیج زیر رو روی پروژه نصب کردم

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');
    });

محمد رمضانی
تخصص : برنامه نویس BackEnd
@moramzani 4 روز پیش مطرح شد
0

راستش رو بخواین من اینطوری استفاده کردم

$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') ?? " ";

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام