پیاده سازی آواتارها در لاراول

گردآوری و تالیف : عرفان کاکایی
تاریخ انتشار : 27 خرداد 1397
دسته بندی ها : لاراول

پکیج Laravolt Avatar ساخته شده توسط Hendra Winata، پکیجی است که رشته‌هایی مانند نام‌ها را بدون هیچ گونه زحمتی تبدیل به Avatar می‌کند. این پکیج در درون خود پکیج Intervention Image را نیز داراست و در هنگام پردازش با استفاده از آن‌ها عکس‌های base64 می‌سازد، و از آن‌ها یک خروجی SVG می‌گیرد.

لاراول

استفاده از آن در template‌های Blade شما به این صورت است:

<img src="{{ Avatar::create('Joko Widodo')->toBase64() }}" />


<!-- SVG markup -->

{!! Avatar::create('Susilo Bambang Yudhoyono')->toSvg(); !!}

این پکیج قابلیت پیکربندی بالایی دارد؛ به طوری که می‌توانید یک عکس تنها را حین پردازش رندر کنید:

// عرض = 100, طول = 200
Avatar::create('Soekarno')->setDimension(100, 200);

Avatar::create('Soekarno')->setBackground('#001122');

Avatar::create('Soekarno')->setShape('square');

در زیر، نمونه‌ای از یک پیکربندی کامل را می‌بینید، تا با تمام روش‌هایی که می‌توانید تولید آواتار خود را سفارشی سازی کنید، آشنا شوید.

<?php

return [

    // Supported: "gd", "imagick"
    'driver'    => 'gd',

    // کلاس مولد اولیه
    'generator' => \Laravolt\Avatar\Generator\DefaultGenerator::class,

    // جایگزین شدن یا نشدن همه کاراکتر‌ها با کد اسکی آن‌ها
    'ascii'    => false,

    // شکل تصویر: دایره یا مربع
    'shape' => 'circle',

    // عرض تصویر به پیکسل
    'width'    => 100,

    // طول تصویر به پیکسل
    'height'   => 100,

    // تعداد کاراکتر‌های اولیه
    'chars'    => 2,

    // سایز فونت
    'fontSize' => 48,

    // تبدیل حرف اولیه به حروف بزرگ
    'uppercase' => false,

    // فونت مورد استفاده در هنگام رندر کردن.
    // اگر بیش از یک فونت وجود دارد، به طور تصادفی یکی انتخاب شود.
    'fonts'    => ['path/to/OpenSans-Bold.ttf', 'path/to/rockwell.ttf'],

    // لیست رنگ های مورد استفاده در پیش زمینه که به طور تصادفی انتخاب شده اند.
    'foregrounds'   => [
        '#FFFFFF'
    ],

    // لیست رنگ های مورد استفاده در پس زمینه که به طور تصادفی انتخاب شده اند.
    'backgrounds'   => [
        '#f44336',
        '#E91E63',
        '#9C27B0',
        '#673AB7',
        '#3F51B5',
        '#2196F3',
        '#03A9F4',
        '#00BCD4',
        '#009688',
        '#4CAF50',
        '#8BC34A',
        '#CDDC39',
        '#FFC107',
        '#FF9800',
        '#FF5722',
    ],

    'border'    => [
        'size'  => 1,

        // مقادیر موجود برای رنگ حاشیه:
        // 'foreground' (مثل رنگ پیش زمینه)
        // 'background' (مثل رنگ پس زمینه)
        // or any valid hex ('#aabbcc')
        'color' => 'foreground'
    ]
];

بهتر است اشاره کنم که در تمام مدت زمان کدنویسی، این پکیج را همراه با GD extension و دیتا یو آر آی base 64 آزمایش کردم، و کیفیت تصویر با لبه‌های خدشه‌دار مواجه شد. پیشنهاد می‌کنم که شما با پیکربندی های متفاوتی آزمایش کنید. من همچنین خروجی SVG را نیز امتحان کردم، و خوب هم کار کرد، اما کمی در تراز فونت در مرورگر‌های مختلف مشکل داشت.

بیشتر بدانید

می‌توانید صفحه رسمی این پکیج را در گیت هاب مشاهده کنید، و آن را با استفاده از Composer در پروژه‌های لاراول خود استفاده کنید.

composer require laravolt/avatar

# Or for Laravel 5.1
composer require laravolt/avatar ~0.3

دقت کنید که اگر از لاراول 5.4 یا قدیمی‌تر استفاده می‌کنید، باید به طور دستی نمای خارجی Avatar را پیکربندی کنید تا بتوانید از آن در Template‌های خود استفاده کنید.

منبع

مقالات پیشنهادی

بهینه سازی تصاویر در لاراول

بهینه سازی تصاویر میتونه به شدت کارایی وب سایت رو بالا ببره, و این یکی از معمول ترین چالش های توسعه دهندگان هست. گاهی تصاویر میتونند تا 50 درصد یا حتی...

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

به تازگی یک ویژگی که در لاراول 5.5 معرفی شد را پیدا کردم. دستور هنرمندانه‌ای که قانون اعتبار سنجی شما را شبیه به کلاس‌های Request می‌کند.

5 نکته امنیتی مهم برای یک برنامه لاراولی

یک تزریق SQL وقتی خطرناک میشه که یک اپلیکیشن مقادیر ورودی خودسرانه و فیلترنشده رو وارد یک کوئری SQL می کنه. این مقادیر ورودی میتونه از کوکی ها, مقادیر...

ساخت پکیج لاراول 5 - قسمت اول

بسیاری از آموزش ها یک راست سراغ بخش توسعه ی پکیج می روند, اما بیایید با چند قدم ساده شروع کنیم. ممکنه شما بخواهید پکیچی رو فقط برای پروژه فعلی تون بسا...