بلاگ محمد کاظم بهرام

برنامه نویس وب

بلاگ محمد کاظم بهرام

برنامه نویس وب

خاطرات ، دست نوشته ها ، آموزش های خودم رو در اینجا قرار میدم .

طبقه بندی موضوعی
آخرین نظرات

تغییر اندازه عکس با دریافت اندازه از آدرس

دوشنبه, ۴ فروردين ۱۳۹۳، ۰۵:۳۰ ب.ظ

سلام

 

عذرخواهی میکنم بابت دیر بروز کردن وبلاگ و تبریک میگم سال جدید رو به شما بازدیدکننده ها و دوستان عزیز.

 

امیدوارم سال خوب و خوشی در کنار خانواده تون داشته باشید .

 

یکی از دوستان درخواست داده بود که چطوری میشه سایز تصویر رو با دادن اندازه از طریق آدرسی که در مرورگر وارد میکنیم تنظیم کنیم . از ایشون عذرخواهی میکنم بابت دیر منتشر کردن این مطلب ، همونطور که همیشه میگم ، کارهای من دیر و زود داره ، ولی سوخت و سوز نداره .

 

 

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

در هر دو صورت میخوام از طریق دریافت اندازه از طریق آدرس استفاده کنم .

راه اول این هست که شما بیاید مقادیر اندازه رو با متود GET از طریق آدرس بگیرید و در تگ img قرار بدید که کدش به این صورت هست :

 

<?php

// نمونه استفاده
// http://127.0.0.1/image/index.php?width=150&height=220

$width = $_GET['width']; // دریافت مقدار عرض از آدرس
$height = $_GET['height']; // دریافت مقدار طول از آدرس

echo '<img src="images/img.jpg" width="'.$width.'"  height="'.$height.'" />    '; // نمایش عکس با استفاده از مقادیر طول و عرضی که از آدرس دریافت کردیم

?>

 

در مثال بالا ما فرض میکنیم که کاربر یک همچین آدرسی رو در مرورگر خودش وارد کرده :

 

http://127.0.0.1/image/index.php?width=150&height=220

 

در کد بالا ما اومدیم و مقادیر width و  height را با متد GET دریافت کردیم و هر دو رو در متغیر های جداگانه ذخیره کردیم و بعد با نمایش تگ img و استفاده از این متغیر ها در width و height تگ img عکس رو به اندازه مورد نظرمون نمایش دادیم .

 

یکی دیگه  از راه های تغییر اندازه استفاده از یکی از توابع در کتابخانه PHP هست با نام imagescale() که دارای 4 آرگومان هست .

در آرگومان اول آدرس عکس رو ارسال میکنیم و در آرگومان دوم عرض جدید و در آرگومان سوم هم طول جدید رو وارد میکنیم .

در آرگومان آخر یکی از این مقادیر :

 

IMG_NEAREST_NEIGHBOUR, IMG_BILINEAR_FIXED, IMG_BICUBIC, IMG_BICUBIC_FIXED

 

یا 2 تا از اینارو با هم میتونیم انتخاب کنیم .

 

یک کد نمونه هم در صفحه این تابع در php.net قرار داده شده که یک مثال کامل از این تابع هست :

 

<img src="image.jpg" alt="image" /><br><br>
<?php
$org_info
= getimagesize("image.jpg");
echo
$org_info[3] . '<br><br>';
$rsr_org = imagecreatefromjpeg("image.jpg");
$rsr_scl = imagescale($rsr_org, 860, 860IMG_BICUBIC_FIXED);
imagejpeg($rsr_scl, "imagebfb.jpg");
imagedestroy($rsr_org);
imagedestroy($rsr_scl);
?>
<img src="imagebfb.jpg" alt="imagebfb" /><br><br>
<?php
$scl_info

  • محمد کاظم بهرام

نظرات  (۱)

سلام ، خیلی خیلی ممنونم ازتون.
ای کاش روش دوم رو بیشتر توضیح میدادید چون خودم این تابع رو دیده بودم اما روش کار باهاش رو نمیدونستم!
پاسخ:
به روی چشم حتما .

ارسال نظر

کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
تجدید کد امنیتی