آموزش توابع GD (قسمت اول) - نسخهی قابل چاپ +- انجمن عمومی گسترش فناوری آگو (http://forums.ago.ir) +-- انجمن: انجمن های عمومی گسترش فناوری آگو (/forumdisplay.php?fid=1) +--- انجمن: برنامه نویسی (/forumdisplay.php?fid=13) +--- موضوع: آموزش توابع GD (قسمت اول) (/showthread.php?tid=2323) |
آموزش توابع GD (قسمت اول) - agotd - 02-03-2014 03:23 PM GD یه کتابخونه از PHP هست که به ما در ساخت و حتی ویرایش و اعمال تغییرات روی تصاویر JPG,PNG,GIF کمک میکنه.تو اولین پستم تصمیم گرفتم توابع حرفه ای این کتابخونه رو بهتون معرفی کنم و طرز استفاده از اونا رو توضیح بدم. در اولین قدم برای ساخت یه تصویر به کمک GD باید از تابع زیر استفاده کنیم که دو تا آرگومان (۱-عرض) و (۲-طول) تصویر رو دریافت میکنه: کد php: <?php و اگر بخوایم روی یه تصویر دیگه تغییری ایجاد کنیم میتونیم از توابع زیر استفاده کنیم که یک آرگومان (۱-مسیر فایل) رو دریافت می کنند: کد php: <?php کد php: <?php حالا برای مثال میخوایم یه تصویر با پس زمینه سفید ایجاد کنیم که داخل اون با رنگ سیاه “http://phpro.ir” نوشته شده باشه. از اونجایی که خروجی که در پایان کار میخوایم از مرورگر بگیریم از نوع تصویر هست باید با کمک تابع header نوع خروجی رو به مرورگر اعلام کنیم و بعد یه تصویر با فرمت دلخواه ایجاد میکنیم: کد php: <?php برای درج یه رشته داخل تصویر از تابع imagestring استفاده میکنیم که ۶ آرگومان (۱-تصویر منبع)(۲-اندازه قلم)(۳و۴-محل قرارگیری بالاترین نقطه سمت چپ رشته که تابع از اونجا شروع به درج رشته میکنه)(۵-خود رشته)(۶-رنگ قلم) رو دریافت میکنه. و در انتها با استفاده از تابع imagepng یا imagegpej و یا imagegif برای ساخت نهایی تصویر و نمایش دادن آن. چیزی که از اجرای کد بالا خواهید داشت اینه: و اما،این تصویر رو ببینید: همونطور که میبینید این تصویر شامل یه مستطیل قرمز و یه بیضی آبی هستش پس برای ساختش یه تابع برای رسم مستطیل و تابع دیگه ای برای رسم دایره نیاز داریم. برای رسم مستطیل توپر از تابع imagefilledrectangle و برای رسم مستطیل توخالی از تابع imagerectangle استفاده میکنیم که هر دو تابع ۶ آرگومان (۱-تصویر منبع)(۲و۳- بالاترین نقطه سمت چپ مستطیل که تابع از اونجا شروع به رسم مستطیل میکنه)(۴و۵-پایین ترین نقطه سمت راست مستطیل که مستطیل تا اون نقطه کشیده میشه)(۶-رنگ قلم رسم) رو دریافت میکنن. و برای رسم دایره(یا بیضی) دو تابع imagefilledellipse و imageellipse رو داریم که این دو تابع هم ۶ آرگومان (۱-تصویر منبع)(۲و۳-طول و عرض مرکز دایره)(۴و۵-عرض و ارتفاع دایره)(۶-رنگ قلم رسم) رو دریافت میکنن: کد php: <?php حالا اینو ببینید: در واقع این همون تصویر قبلی هست که کمی چرخوندیم و فضاهای خالی که بعد چرخش بوجود اومده رو با رنگ سبز پر کردیم. برای چرخش تصویر(پادساعتگرد) از تابع imagerotate استفاده میکنیم که ۳ آرگومان (۱-تصویر منبع)(۲-درجه چرخش)(۳-رنگی که فضاهای جدید با اون پر میشه) رو دریافت میکنه.پس برای ساخت تصویر بالا نیاز به یه همچین کدی داریم: کد php: <?php خب فعلا تا همین جا رو داشته باشید تا چند روزه آینده ادامش رو بنویسم. |