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

تغییر سایز عکس در لاراول

سلام میخواستم ببینم چطور میتونم سایز و ابعاد یک عکس رو در لاراول تغییر بدم
@asp.gosk
@endworld
@milwad


ثبت پرسش جدید
ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 3 سال پیش آپدیت شد
0

با GDImage تو PHP میتونی روی تصاویر تغییراتی که میخوای رو اعمال کنی. برای تغییر سایز تصویر از کد زیر استفاده میکنیم:

$imageInfo = getimagesize($filename); // $filename : آدرس تصویر | خروجی تابع یه آرایه هست که سایز تصویر(طول و عرض) توش وجود داره
$original_w = $imageInfo[0]; // اینجا عرض یا همون Width تصویر رو بدست میاریم
$original_h = $imageInfo[2];
$original_img = imagecreatefromjpeg($filename); // اینجا با تابع imagecreatefromjpeg یه تصویر جدید از تصویر قدیمی میسازیم. نکته: اگه تصویر WEBP، PNG یا فرمت دیگه ای داشته باشه باید از تابع مخصوص خودشون استفاده کنی. مثلا بری پی‌ان‌جی imagecreatefrompng هست
$thumb_w = 100; // Width جدید
$thumb_h = 100; // Height جدید
$thumb_img = imagecreatetruecolor($thumb_w, $thumb_h); // اینجا یه تصویر خالی با width و height جدید(همون thumb_h و thumb_w) میسازیم
imagecopyresampled($thumb_img, $original_img, // اینجا اطلاعات تصویر اصلی رو قرار میدیم تو تصویر جدید
                   0, 0,
                   0, 0,
                   $thumb_w, $thumb_h,
                   $original_w, $original_h);
imagejpeg($thumb_img, $adress); // اینجا هم تصویر رو ذخیره میکنیم. $adress : آدرس کامل جایی که باید ذخیره بشه؛ نکته: باید تو آدرس اسم تصویر و فرمت تصویر هم باشه مثلا Folder\Image.jpg .

منبع
نکته: تو خط آخر imagejpeg یه ورودی سوم هم میگیره که اجباری نیست. کیفیت تصویر هست که تو WEBP و JPEG یه عدد بین 1 تا 99 و تو PNG یه عدد بین 1 تا 9 هست.
همونطور که گفتم هر فرمت تابع های خودش رو داره اما زیاد تفاوتی با هم ندارن اما باید برای هر فرمت تابع خودش رو استفاده کنی. مثلا برای WEBP باید از imagecreatefromwebp و imagewebp استفاده کنی
آموزش/مستندات تابع ها:
imagejpeg
imagecreatefromjpeg
getimagesize

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


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

پیشنهادم استفاده از پکیج فوق العاده image intervention هست. اگر به مستنداتش مراجعه کنید امکانات خیلی زیادی رو در اختیارتون قرار میده از جمله resize:
https://image.intervention.io/v2/api/resize


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

سلام خسته نباشید
این پکیج خیلی خوبه برای عکس ها و کلی کار میتونی انجام بدی
https://image.intervention.io/v2
اینم برای اموزش
https://www.itsolutionstuff.com/post/laravel-8-resize-image-before-upload-exampleexample.html


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

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