آموزش: ایجاد تصاویردر PHP بخش دوم

آموزش PHP

آموزش ایجاد تصاویر در PHP222

 

سری آموزش های فصل 11:

آموزش ایجاد تصاویر در PHP

سلام  خدمت همراهان عزیز  با آموزش زبان برنامه نویسی (php) همراه شما هستیم. برای اطلاعات بیشتر به مقاله ی هفته ی قبل مراجعه فرمایید

آموزش امرروز:

ایجاد تصاویردر PHP بخش دوم

آموزش ایجاد تصاویر در PHP
مقدمه:

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

1 ایجاد بوم (نقاشی) برای کارکردن بر روی آن

2 رسم شکل ها چاپ متن ها بر روی بوم

3 چاپ گرافیک در مرورگر

4 پاک کردن حافظه با حذف بوم تصویر

هریک از مراحل را با حزئیات بیشتری بررسی می کنیم.

1) ایجاد بوم نقاشی

در ساخت یا تغییر تصاویر در PHP، باید یک شناسه تصویر ایجاد شود. دو روش برای این کار وجود دارد. یک روش، ایجاد بوم خالی است که با تابع ()Image Create انجام می شود. این تابع به صورت زیر به کار می رود:

;im = imagecreate($width , $height)$

متغیر  اول عرض تصویر جدید و متغیر (پارامتر) دوم ارتفاع آن است. این تابع، شناسه ای را برای تصویر جدید ایجاد می کند و در متغیر im$ قرار می دهد.

روش دیگر، خواندن تصویر فایل موجود است که می توان اندازه آن را تغییر داد و کارهای دیگری با آن انجام داد. بر اساس نوع فرمت فایل می توان از یکی از

توابع ()Image Create FromJPEG() ،  ImageCreateFromGIF یا ()ImageCreate FromPNG استفاده کرد. هر کدام از این توابع، نام فایلی را به عنوان پارامتر در یافت می کنند. مثل:

;im = imagecreatefrompng(‘baseimage.png’)$

در ادامه مثال هایی را در مورد این توابع خواهید دید.

سیستم مختصات تصویر :

اگر با ایجاد گرافیک آشنایی داشته باشید، می دانید که برای انجام هر رسم نیاز به تعیین مختصات است که گوشه سمت چپ و پایین صفحه نمایش به عنوان نقطه مبدا (0,0) منظور شده است. شکل بالا این دو وضعیت را نشان می دهد.

2) ترسیم یا نوشتن متن در یک تصویر:

پس از ایجاد بوم، به دو روش می توان ترسیم یا نوشتن متن را روی آن انجام داد. ابتدا باید رنگی را برای ترسیم انتخاب کنید. همان طور که می دانید تصاویر باید در مانیوتر رنگی های قرمز ، سبز و آبی روشن تشکیل شده است .

فرمت های تصویر، از یک جعبه رنگ استفاده می کند که شامل ترکیب ها ی مختلفی از این سه رنگ است . برای استفاده از رنگ برای ترسیم در تصویر، باید آن رنگ را به جعبه رنگ تصویر اضافه کرد. این کار برای تمام رنگ ها، حتی سیاه و سفید نیز انجام دهید.

انتخاب رنگ برای تصاویر، توسط تابع ()Image Color AIIoate انجام می شود. این تابع به صورت زیر به کار می رود:

;color = imagecolorallocate(canvas,n1,n2,n3)$

و پارامتر اول بوم نقاشی است که قبلا ایجاد شده است و سه پارامتر دیگر مقادیری از رنگ های قرمز، سبز، آبی (RGB) را مشخص می کند که باید باهم ترکیب شوند تا رنگ جدیدی به وجود آید.به عنوان مثال دستورات زیر رنگ های سیاه و سفید را ایجاد می کنند:

;white = imagecolorallocate($im,255,255,255)$

;black = imagecolorallocate($im,0,0,0)$

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

  • شناسه تصویر
  • مختصات شروع و گاهی مختصات پیان شکلی که باید رسم شود.
  • رنگ ترسیم
  • برای متن، فونت اطلاعات مشخص شود.

اکنون چند تابع را برای ترسیم مورد بررسی قرار می دهیم.

رسم خطوط

برای رسم خط از تابع ()Image Line استفاده می شود:

;imageline($im,x1,y1,x2,y2,color)

پارامتر اول شناسه تصویر، دو یا پارامتر بعدی مختصات x و y پایان خط را مشخص می کنند. پارامتر آخر، شناسه رنگی است که قبلا تولید شده است. به عنوان مثال دستورات زیر را در نظر بگیرید:

;image = imagecreate(200,150)$

;blue = imagecolorallocate($image,0,0,255)$

;imageline($image,10,10,150,30,blue)

دستور اول شناسه تصویر image$ را ایجاد می کند. همچنین دستور دوم رنگ آبی را ایجاد کرده در blue$ قرار می دهد و دستور سوم خطی را از نقطه (10,10) تا (150,30) به رنگ آبی رسم می کند.

رسم دایره

و برای رسم دایره یا بیضی در PHP از تابع ()Image Arc استفاده می شود:

;imagearc(image,x,y,w,h,start,end,color)

Image شناسه تصویری است که ایجاد شده است. xو y مختصات مرکزی دایره را مشخص می کنند. W و h به ترتیب عرض و ارتفاع دایره یا بیضی ای است که کمان را از آن رسم می کنیم . start نقطه شروع کمان و end نقطه پایان آن است . color رنگی است که دایره با آن ترسیم می شود. به عنوان مثال دستورات زیر را ببینید:

;image = imagecreate(200,150)$

;blue = imagecolorallocate($image,0,0,255)$

;imagearc(image,150,65,70,70,0,360,$blue)

دستور سوم دایره کاملی را به رنگ آبی رسم می کند(از صفر تا 360 درجه)

معرفی سایت خارجی:

https://php.net

https://php.org
https://php-fig.org
ترسیم چهارگوش ها

رسم چهارگوش در php از تابع ()ImageRectangle استفاده می شود.:

;imageractangle(image,x1,y1,x2,y2,color)

Image شناسه تصویر، (x1,y1) مختصات گوشه ی بالا سمت چپ و (x2,y2) گوشه ی بالا سمت راست و color رنگ چهارگوش را مشخص می کند . به عنوان مثال : دستور زیر مستطیلی را رسم می کند که مختصات گوشه بالای سمت چپ آن (10,65) و مختصات گوشه پایین سمت راست آن (150,140) است:

;imageractangle($image,10,65,150,140,blue)
نوشتن متن در تصویر

نیز برای نوشتن در یک تصویر از تابع ()Image String استفاده می شود. این تابع به صورت زیر به کار می رود:

;imagestring(image,font,x,y,str,color)

در این تابع، image تصویری است که رشته str یا فونت font باید در آن نوشته شود. (x,y) مختصات نقطه شروع نوشتن متن را با رنگ color مشخص می کند به عنوان مثال، دستور زیر را در نظر بگیرید:

;imagestring($im,4,50,150,’sales’,$blue)

این دستور بر روی تصویری با شناسه $im متن Sales را با رنگ آبی می نویسد و مختصات شروع نوشتن (50,150) است و فونت آن 4 می باشد.

رنگ آمیزی نواحی تصویر

اگر بخواهیم ناحیه بسته ای را با رنگ خاصی پر کنیم از تابع () Image Fillاستفاده می کنیم . این تابع به صورت زیر به کار می رود:

;imagefill(image,x,y,color)

3) چاپ گرافیک در مرورگر

پس از رسم تصاویر می توان آن ها را در مرورگر نمایش داد ا در یک فایل ذخیره کرد ابتدا چاپ تصویر را در مرورگر بحث می کنیم. برای چاپ هر نوع اطلاعاتی غیر از داده های HTML، باید نوع آن را به مرورگر اطلاع داد. برای این منظور از تابع ()header استفاده می شود:

;header(“content_type:image/jpeg”)

;header(“content_type:image/png”)

;header(“content_type:image/gif”)

همچنین پس از اجرای تابع ()header آمادگی داریم تا تصویر را به مرورگر بفرستیم، برای این منظور از توابع زیر استفاده می گردد:

;imagepng(image)

;imagejpeg(image)

;imagegif(image)

بسته به نوع تصویر مورد نظرتان، یکی از این توابع را اجر کنید.

ذخیره تصویر در فایل(به جای مرورگر) از همان توابع نمایش تصویر در مرورگر استفاده می شود،

با این تفاوت که پارامترهای دیگری به آن ها اضافه می گردد:

;imagejpeg(image,file,q)

image شناسه تصویری است که باید ذخیره گردد. File نام فایلی است که تصویر image باید در آن خیره گرددو q کیفیت تصویر را مشخص می کند. q بین 1- تا 100 است. به عنوان مثال، دستور زیر را ببینید:

;imagejpeg($im,”image.jpg”,2)

این دستور، تصویر im$ را در فایل image.jpg با کیفیت 2 ذخیره می نماید. توجه کنید که اگر کیفیت تصویر را ()تعیین کنید، فایل کوچکی ایجاد می شود، ولی کیفیت آن بسیار پایین خواهد بود.

دانلود رایگان :

دانلود افزونه المنتور پرو Elementor Pro 3.13.2

4) حذف تصاویر

پس از این کار تان با تصویر انجام دادید باید آن را تابع ()ImageDestroy حذف کنید:

;imagedestroy(image)

Image شناسه تصویری است که باید حذف شود.

مثال :

طراحی صفحه ای که تصویری را ایجاد می کند و سپس بر روی آن خطی رسم کرده متنی را بر روی آن می نویسد و در مرورگر نمایش می دهد. سرانجام ، تصویر را حذف می نماید.

مراحل طراحی صفحه :

1 ) دستورات زیر را در فایل ch11-1.php تایپ و ذخیره کنید:

php?>

set up image//

;height=200 $

;width=200 $

;im= imagecreate($width,$height)$

;white= imagecolorallocate($im,255,255,255)$

;blue= imagecolorallocate($im,0,0,255)$

draw on image//

;imagefill($im,0,0,$blue)

;imageline($im,0,0,$width,$height,$white)

;imagestring($im,4,50,150,’sales’,$white)

output image//

;header(‘content_type:image/png’)

;imagepng($im)

clean up//

;imagedestroy($im)

<?

خطوط 3و4 ارتفاع و عرض بوم تصویر را مشخص می کنند. همچنین خط 5 بوم تصویر را ایجاد می کنند.و خط 6 رنگ سفید و خط 7 رنگ آبی را ایجاد می نماید. خط 9 فضای بوم تصویر را با رنگ آبی پر می کند . و نیز خط 10 از مبدا (0,0) تا (200,200) خطی را به رنگ سفید رسم می کند.

و همچنین خط 11 متنی را بر روی تصویر می نویسد. خط 13 نوع تصویر را برای مرورگر مشخص می کند و خط 14 تصویر را در مرورگر نمایش می دهد. و نیز خط 16 تصویر را حذف می کند.

2 ) مرورگر را اجرا کرده در نوار آدرس آن https://localhost/ch11-1.php را تایپ کنید وکلید Enter را فشار دهید.

برگرفته از :

کتاب آموزش گام به گام (PHP)

دکتر عین الله جعفر نژاد قمی

پاسخ به سوال دوستان :

شاید تاکنون به این فکر کرده باشین که چرا باید برای کسب و کار خود وبسایت داشته باشین ؟

دلیل اینکه می‌گوییم باید سایت داشته باشید این آمار است. توجه کنید که ۸۱٪ از افراد قبل از

تصمیم گیری در مورد خرید و فروش در یک کسب وکار یا خدمات، در اینترنت تحقیق می کنند.

یعنی ۲۵.۹۲ میلیون نفر هستند که مشاغل را به صورت آنلاین جستجو می کنند. با این وجود ۴۶% کسب و کارها فکر می‌کنند نیاز به وب سایت ندارند.

توجه داشته باشید که جهان به سمت دیجیتالی شدن پیش می‌رود و نداشتن وب سایت

برای یک شرکت یا هر کسب و کاری، به منزلۀ جا ماندن از گردونۀ روزگار است.

برای اطلاعات بیشتر با همکاران ما در شرکت آراز پردازش در ارتباط باشید

آدرس ایمیل:  info@arazpardazesh.com

اینستاگرام شرکت:   https://instagram.com/araz_pardazesh_kla

تماس با ما:     https://arazpardazesh.com/contact

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

8 − دو =