افزودن لوگو به عکس در php

با سلامی به گرمی آفتاب

دوستان این مبحث در مورد نحوه افزودن لوگو یا متن دلخواه شما به عکس هاتون هست .

خیلی پیش میاد که مدیر وبسایت دوست داره هر عکسی که خودش یا کاربراش آپلود میکنند وب سایت به طور خودکار لوگو متن یا یه آرم خاص رو به عکس اضافه کنه .

فقط قبل از مطالعه این پست باید اطلاعاتی در مورد نحوه آپلود فایل در php داشته باشین هرچند ناقص و کم هم باشه مهم نیست .

دوستان دقت کنید که این کد صرفاً برای آموزش نوشته شده و نکات امنیتی رو که تو جلسات قبل گفتم باید خودتون رعایت کنید ، من برای اینکه آموزش طولانی نشه رعایت نکردم !

خب شروع می کنیم :

خب برای راحتی کار یه کلاس ساختیم که دوتا متد داره ، متد دومی یعنی make_image دوتا پارامتر داره که اولی آدرس فایل تصویری و دومی فرمت اون هست که میگیره و با توجه به فرمتش ازش عکس میسازه ، در ضمن عکس ها رو با توابع imagecreatefrompng و … میسازه و بعد از ساختنشون بازگشت میده.

اولین متد draw_logo هست که ۳ تا پارامتر داره ، اولی آدرس فایل ، دومی فرمت عکس ، سومی رشته ای که میخوایین تو عکس چاپ بشه.

کار متد draw_log اینه که اول متد دومی رو صدا میکنه و از طریق اون فرمت عکس تشخیص داده میشه و بعد از تشخیص یه عکس میسازه باهاش بعد متد draw_logo این عکس رو میگیره و با تابع imagettftext متن رو داخلش چاپ میکنه ، برای فهمیدن کار این تابع به قسمت آموزش ساخت تصویر امنیتی رجوع کنید اونجا کامل توضیحش دادم ،یادآوری لازمه که به یک فونت احتیاج دارید که من از فونت RAVIE.TTF استفاده کردم.

خب بعد دوباره به switch میرسیم که کارش اینه فرمت عکس رو تشخیص بده و باتوجه به همون فرمت عکس رو ذخیره کنه.دوستان دقت کنید که لازم نبود فرمت رو تشخیص داد و میشه عکس رو تو هر فرمتی که دوست داشتین ذخیره کنین اما من برای اینکه بهتر متوجه بشین اینطوری کردم ، برای مثال میتونین وب سایتی داشته باشین که هر فرمت عکس آپلود بشه بعد از نوشتن لوگو اونو تبدیل به فرمت دلخواه شما بکنه .

متد make_image بعد از تشخیص فرمت عکس وقتی برگشتش میده با هیچ فرمت خاصی برگشتش نمیده پس شما میتونین هر جوری که دوس دارین ذخیرش کنید ، توابع imagepng ،imagegif و… متغیری رو که عکس داخلش هست رو تبدیل به فایل میکنن البته با دستور :

میتونین محتوای صفحه رو تبدیل به عکس کنید و همونجوری نمایشش بدین.

خب بریم سراغ صفحه index.php :

خب دوستان اگه از صفحه خروجی بگیرین به شکل زیره :

شما میتونین با کمی حوصله و ابتکار کلاس پیشرفته تری بنویسین که خودش فرمت عکس رو از فایل بگیره ،اندازه عکس رو تشخیص بده و با توجه به اون فونت رو تنظیم کنه و….
logo_s1

امیدوارم خوشتون اومده باشه

دیدگاه‌تان را بنویسید:

شانزده − 6 =