pedia-learning

ورود

گذرواژه‌تان را فراموش کرده‌اید؟

ثبت نام

ثبت نام
انجمن عمومی گسترش فناوری آگو

اگر اولین بار از انجمن بازدید می کنید برای دسترسی کامل به انجمن عضو شوید بعد عضویت قادر به ارسال مطلب و شرکت در بحث خواهید داشت

ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت تصاویر بندانگشتی (thumbnail) در PHP
01-25-2014, 03:13 PM
ارسال: #1
ساخت تصاویر بندانگشتی (thumbnail) در PHP
اگر سایت شما به کاربران اجازه آپلود عکس رو میده ، شاید بهتر باشه برای نمایش عکس آپلود شده در محتوای سایت ، عکس رو به صورت بند انگشتی نمایش داد.

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

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

۱ – بارگزاری (Load) عکس مورد نظر در یک متغیر

۲ – مشخص کردن عرض و طول تصویر

۳ – ساخت یک عکس خالی با اندازه دلخواه

۴ – کپی کردن عکس اصلی در تصویر ساخته شده (شماره ۳)

۵ – نمایش تصویر thumbnail

خب بریم ببینیم چطور میشه که ایطور میشه Big Grin

کد php:
$sourceImage 'img/moon.jpg';

$thumbWidth 200;

$thumbHeight 200

در بالا ابتدا عکس اصلی رو مشخص کردیم سپس سایز تصویر thumbnail رو مشخص کردیم.

حالا کدهای زیر رو اضافه میکنیم :

کد php:
$original imagecreatefromjpeg($sourceImage);

$dims getimagesize($sourceImage); 

در خط اول کد بالا ، عکس اصلی رو با استفاده از دستور imagecreatefromjpeg داخل یک متغیر کپی کردیم.در خط بعد هم اندازه تصویر اصلی رو داخل متغیر $dims ریختیم.

یادآوری :

تابع getimagesize سایز تصویر رو به صورت یک آرایه برمیگردونه.

در مرحله بعد با استفاده از تابع imagecreatetruecolor یک تصویر خالی ایجاد میکنیم

کد php:
$thumb imagecreatetruecolor($thumbWidth $thumbHeight); 

در این مرحله عکس اصلی رو در عکس ساخته شده در مرحله قبل کپی میکینیم :

کد php:
imagecopyresampled$thumb$original0000,
 
$thumbWidth$thumbHeight$dims[0], $dims[1] ); 

تابع imagecopyresampled عکس رو تغییر سایز میده و در متغیر $thumb (عکس خالی ایجاد شده در مرحله قبل) کپی میکنه.

در این تابع پارامتر اول تصویر خالی ایجاد شده است.

پارامتر دوم تصویر اصلی رو مشخص میکنه.

پارامتر های سوم و چهارم و پنجم و ششم مختصات تصویر اصلی رو مشخص میکنه.با دادن مختصات میتونیم مشخص کنیم کجای تصویر اصلی در $thumb قرار بگیره.این مختصات از بالای سمت چپ تصویر اصلی حساب میشن.اگر بخوایم کل تصویر اصلی در $thumb قرار بگیره این ۴ پارامتر رو ۰ قرار میدیم.

چهار پارامتر انتهایی این تابع هم سایز تصویر بندانگشتی و سایز تصویر اصلی رو میگیره.

در مرحله آخر هم با استفاده از تابع header این تصویر رو نمایش میدیم :

کد php:
header('Content-type: image/jpeg');
imagejpeg($thumb); 

ابتدا با دستور header فرمت تصویر رو مشخص کردیم.(انواع فرمتهای تصویر و نحوه استفاده در تابع header رو قبلا بحث کردیم)

سپس با تابع imagejpeg تصویر رو به خروجی ارسال کردیم.
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


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


Persian Translation by MyBBIran.com - Ver: 4.1
Powered by MyBB, © 2002-2024 MyBB Group.
Theme designed by Marvel (Sidebar created by Yaldaram - Yaldaram.com)
Theme Translation by Mt Edition