راکت

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

4 پاسخ

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

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

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

ثبت پرسش جدید

پاسخ‌ها

4
اردلان کرونی
اردلان کرونی
@namirakh

تخصص: طراح سایت

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

محمد رمضانی
محمد رمضانی
@moramzani

تخصص: برنامه نویس BackEnd

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

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

موفق باشید

شاید پاسخ شما همین‌جا باشد

اردلان کرونی
اردلان کرونی
@namirakh

تخصص: طراح سایت

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

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');
    });
محمد رمضانی
محمد رمضانی
@moramzani

تخصص: برنامه نویس BackEnd

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

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

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

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