سعید
5 سال پیش توسط سعید مطرح شد
6 پاسخ

کاهش حجم تصاویر آپلودی توسط کاربر

سلام دوستان پروژه ای که من داریم میزنم به این حالت هست که هر کاربر میتونه تصاویر مختلفی آپلود کنه ، من میخوام به استفاده از یک تابع یا پکیج ، حجم تصاویری که آپلود میشن رو پایین بیارم دقیقا مثل فتوشاپ که save for web داره .
طبیعتا فرمت آنها رو هم به jpg تغییر بدم.
از پیکج زیر استفاده کردم اما کار نکرد و اصلا حجم عکس رو پاییین نیاورد. :

پکیج laravel optimaize

ممنون میشم دوستان تجربیات و نظرات خودشون رو بگن.


ثبت پرسش جدید
سعید
تخصص : برنامه نویس وب
@Saeeed 5 سال پیش مطرح شد
0

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


امین محمدزاده
تخصص : برنامه نویسی وب - Laravel
@amin.webdesign 5 سال پیش مطرح شد
0

سلام
پکیج زیر رو مطالعه بفرمایید ببینید بهتون کمک میکنه در این زمینه یا نه
http://image.intervention.io/


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

@admin.webdesign

خیلی ممنون ، این پکیج رو زیر و رو کردم ، فقط میشد blur عکس رو تنظیم کرد.
من برای کاهش حجم واقعی نیاز دارم فرمت به jpg تغییر کنه ، quality به زیر ده درصد برسه و blur هم قابل تنظیم باشه


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

البته میشه برا تغییر سایز یا کراپ کردن ، از حجم عکس یکم کمتر کرد ، اما من منظورم این هم نیست .
ممنون میشم دوستان حتی اگر کوچک ترین تجربه ای دارن ، کمک کنن


Mohammad Amin Mokhtari
تخصص : برنامه نویس
@amin.mokhtari94 5 سال پیش مطرح شد
0

سلام
طبق مستندات php تابع imagejpeg میتونه کاربردی باشه.
کد زیر رو امتحان کنید:

// Compress image
function compressImage($source, $destination, $quality) {

  $info = getimagesize($source);

  if ($info['mime'] == 'image/jpeg') 
    $image = imagecreatefromjpeg($source);

  elseif ($info['mime'] == 'image/gif') 
    $image = imagecreatefromgif($source);

  elseif ($info['mime'] == 'image/png') 
    $image = imagecreatefrompng($source);

  imagejpeg($image, $destination, $quality);

}

Daee Hamid
تخصص : Front-end | Back-end Developer
@daeehamid 5 سال پیش آپدیت شد
0

@Saeeed
من هم خیلی دنبال این مورد گشتم ولی چیز خاصی دستگیرم نشد
راه هایی ک هست یکی اینکه با پکیج intervention تصویرت رو توی سایز های مختلف خروجی بگیری و استفاده کنی، یا اینکه تصویرت رو با سایز اصلی آپلود کنی و با استفاده از همین پکیج توی جاهای مختلف سایت هر سایزی ک خواستی در لحظه تبدیل کنی و استفاده کنی، الان دیجیکالا هم از همین روش استفاده میکنه

دقت کنی طول و عرض و کیفیت مورد نظر توی آدرس تصویر هست
https://dkstatics-public.digikala.com/digikala-products/112066961.jpg?x-oss-process=image/resize,m_lfit,h_600,w_800/quality,q_1

البته اون از alibabacloud استفاده میکنه ک خب خیلی حرفه ایه
در مورد تبدیل فرمت عکس ها هم من از این پکیج نتیجه ای نگرفتم ، اصلا کار نمیکنه انگار!!


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

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