تغییر اندازه عکس با دریافت اندازه از آدرس
سلام
عذرخواهی میکنم بابت دیر بروز کردن وبلاگ و تبریک میگم سال جدید رو به شما بازدیدکننده ها و دوستان عزیز.
امیدوارم سال خوب و خوشی در کنار خانواده تون داشته باشید .
یکی از دوستان درخواست داده بود که چطوری میشه سایز تصویر رو با دادن اندازه از طریق آدرسی که در مرورگر وارد میکنیم تنظیم کنیم . از ایشون عذرخواهی میکنم بابت دیر منتشر کردن این مطلب ، همونطور که همیشه میگم ، کارهای من دیر و زود داره ، ولی سوخت و سوز نداره .
برای تغییر اندازه یک عکس دو راه وجود داره . البته این که میگم دو راه ، این راه به نظرم میرسه شاید راه سوم و چهارمی هم باشه من بلد نباشم .
در هر دو صورت میخوام از طریق دریافت اندازه از طریق آدرس استفاده کنم .
راه اول این هست که شما بیاید مقادیر اندازه رو با متود 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, 860, IMG_BICUBIC_FIXED);
imagejpeg($rsr_scl, "imagebfb.jpg");
imagedestroy($rsr_org);
imagedestroy($rsr_scl);
?>
<img src="imagebfb.jpg" alt="imagebfb" /><br><br>
<?php
$scl_info
- ۹۳/۰۱/۰۴
ای کاش روش دوم رو بیشتر توضیح میدادید چون خودم این تابع رو دیده بودم اما روش کار باهاش رو نمیدونستم!