رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کاهش اندازه تصویر(نسبت ابعاد طول به عرض تغییر نکنه)
#1
سلام و خسته نباشید
به این کد ی نگا بندازید.
من دارم ی سایت ثبت نام مینویسم که تو اون کاربر تصویر خودش رو هم میفرسته.
حالا من نمیخوام کاربر تصاویر رو با کیفیت بالا رو سرور آپلود کنه.(حجم سرورم پایینه)
میخوام وقتی کاربر تصویر رو وارد کرد طول اون بیشتر از 100 نباشه حالا موندم که عرض رو چیکار کنم.
میخوام عرض تصویر هم نسبت به طول تصویر پایین بیاد.
از چ توابعی واسه این کار انجام بدم.
خیلی ممنون


$my_img = imagecreate(100,100);
$background = imagecolorallocate( $my_img, 0, 0, 100 );
imagejpeg($my_img,'public/image/'.$num[$count].'.jpg',100);
imagedestroy( $my_img );
پاسخ
تشکر شده توسط:
#2
http://iwebpro.ir/%D8%AA%D8%BA%DB%8C%DB%...1-php.html

اینجا رو یک نگاه بندازید فکر کنم کارتون رو راه بندازه
پاسخ
تشکر شده توسط:
#3
عرض رو به طول تقسیم کنید تا نسبت طول و عرض بدست بیاد. بعد طول جدید رو 100 و عرض جدید رو 100 تقسیم بر نسبت درنظر بگیرین. مثال:
$src = imagecreatefromjpeg($_FILES['photo']['tmp_name']);
$sw = imagesx($src);
$sh = imagesy($src);
$ratio = $sw / $sh;
$dw = 100;
$dh = floor($dw / $ratio);
$dst = imagecreatetruecolor($dw, $dh);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $dw, $dh, $sw, $sh);
imagejpeg($dst, 'public/image/' . $num[$count] . '.jpg', 100);
imagedestroy($dst);
imagedestroy($src);
پاسخ
تشکر شده توسط:
#4
سلام و خسته نباشید
تشکر فراوان بابت راهنمایی ها
من کد رو واسه فرمت jpg استفاده کردم که به خوبی جواب داد.
ولی
وقتی این کد هارو برای تصاویر png میزارم کار نمیکنه.
تصویر ایجاد میکنه ولی ویندوز نمیتونه بازش کنه(یعنی فقط ی فایل با فرمت png میسازه که کارایی نداره)
اینم از کد ها:


$src = imagecreatefrompng($_FILES['image']['tmp_name']);
$sw = imagesx($src);
$sh = imagesy($src);
$ratio = $sw / $sh;
$dw = 150;
$dh = floor($dw / $ratio);
$dst = imagecreatetruecolor($dw, $dh);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $dw, $dh, $sw, $sh);
imagepng($dst,'public/up_img/'.$user_id.$username.'img.png', 100);
imagedestroy($dst);
imagedestroy($src);
$img=$user_id.$username.'img.png';

پاسخ
تشکر شده توسط:
#5
پارامتر آخر توی imagepng از 1 تا 9 تغییر میکنه.
پاسخ
تشکر شده توسط: olampiad
#6
(20-04-1394، 03:29 ب.ظ)ADMIN نوشته: پارامتر آخر توی imagepng از 1 تا 9 تغییر میکنه.

ببخشین چیکار کنم ک تغییر نکنه.
برای این مشکل راه حلی وجود نداره؟
اگه از کاربر بخوام که فقط تصویر jpg بفرسته بد میشه؟
مرسی
پاسخ
تشکر شده توسط:
#7
منظورم این بود که نمیتونین 100 بگذارین. باید یه عدد بین 1 تا 9 بگذارین. تغییر نمیکنه! Ywink
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان