مهدی
3 سال پیش توسط مهدی مطرح شد
5 پاسخ

نحوه استفاده از svg آبرای آواتار کاربران

سلام دوستان
من تا بحال با فایل های svg کار نکردم
یه سایتی رو دارم پیاده میکنم که مالک پروژه یه فایل svg برام فرستاد که وقتی توی مرورگر بازش میکنم 18 تا عکس آواتار (شکلک) طراحی شده و چیده شده
میخوام کاربر بتونه بجای عکس حقیقی خودش یکی از این شکلک هارو به عنوان عکس آواتار انتخاب کنه
من چطور باید فرمی رو قرار بدم تا کاربر یکی از این هارو انتخاب کنه و چطور اصلا در دیتابیس ذخیره کنم .
فکر کنم چیزی تو مایه های css sprite باید باشه
ممنون میشم راهنمایی کنید.


ثبت پرسش جدید
AmirRoox
تخصص : برنامه نویس ساده
@amirroox 3 سال پیش مطرح شد
1

سلام خسته نباشی
اگه از وردپرس استفاده میکنی برای این کار میتونی از این افزونه استفاده کنی Avatar Manager و یا از افزونه Simple Local Avatars که من همون افزونه اول رو معرفی میکنم چون دستت توش بازه
و برای اینکه بتونی کاری که میخوای رو انجام بدی باید دونه دونه کارکتر ها رو جدا کنی با پسوند svg و در نهایت توی افزونه برای کاربران آپلود کنی تا از بین اونها انتهاب کنند
اما اگه وب سایتت از cms استفاده نمیکنه مبحث جداگونه اییه و بهتره به این لینک ها سر بزنی : https://stackoverflow.com/questions/18971070/change-user-avatar-from-avatar-images-available-on-my-site

https://belovdigital.agency/blog/how-to-set-custom-user-avatars-on-wordpress/


مهدی
تخصص : توسعه دهنده
@mehdi539 3 سال پیش مطرح شد
0

سلام ... ممنونم
نه من از لاراول استفاده میکنم


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

سلام خسته نباشید
اینو یه نگاه بندازید
https://stackoverflow.com/questions/31605623/how-to-save-an-svg-file-in-php


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
0

به نظرم راحت ترین کار این باشه که در مرحله اول با استفاده از نرم افزاری مثل Adobe Illustrator فایل تصاویر رو باز کنید و هر یک از تصاویر رو در قالب یک فایل svg مستقل و با یک نام مشخص ذخیره کنید.
بعدش کافیه موقع ثبت نام اونجوری که اشاره کردید لیست تمامی تصاویر رو به کاربر نشون بدید تا یکیش رو انتخاب کنه و موقع ذخیره، تنها اسم فایل تصویر رو در جدول اطلاعات کاربر قرار بدید. همین.

از این به بعد هر جا خواستید آواتارش رو نشون بدید از جدول اطلاعاتش کوئری می‌گیرید و اگر چیزی ذخیره شده بود دنبال فایلی با اون عنوان در مسیر مشخص میگرده و نمایش میده. نمایش دادن تصاویر svg هم تقریبا کامل مثل تصاویر معمولی هست و می‌تونید مثلا با استفاده از تگ img یا css background-image ازش استفاده کنید:

<img src="/path/to/avatar-1.svg" alt="avatar" />

مهدی
تخصص : توسعه دهنده
@mehdi539 3 سال پیش مطرح شد
0

ممنونم آقای یگانه بابت توضیحات خوب تون
من دیشب یه مقدار بررسی کردم متوجه شدم که میشه تمامب تصاویر رو در یک تگ svg در صفحه قرار داد و بعد با تگ use به ID هر کدوم اشاره کرد و نشونش داد.
پیشنهاد شما کدوم روش هست ؟ این روش یا روش شما
البته در این حالت کل تصاویر رو باید درون صفحه لود کرد چه کاربر بخواد یکیشو ببینیه یا همشو که این کار یکم حجم صفحه رو بیشتر میکنه ولی نمیدونم کدوم روش درست تر هست.

قرار دادن همه تصاویر در صفحه و مخفی کردن تگ در بردارنده :

<svg display="none">
    <defs>
        <g id="avatar_1">...</g>
        <g id="avatar_2">...</g>
        <g id="avatar_3">...</g>
        <g id="avatar_4">...</g>
        <g id="avatar_5">...</g>
    </defs>
</svg>

برای نمایش هم از تگ زیر استفاده میکنم :


<svg>
    <use href="#avatar-2"></use>
</svg>

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

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