server

server

سرور رایگان هاست
server

server

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

نوشتن بر روی عکس با GD در PHP

نوشتن بر روی عکس با GD در PHP




Image result for ‫نوشتن بر روی عکس با GD در PHP‬‎






به طور مثال، به جای استفاده از ده دکمه که استایلی مشابه دارند، می‌توانید یک دکمه بدون متن ایجاد کنید و متن روی آن را در ده جای مختلف با استفاده از امکان GD در PHP درج کنید. 

اولین قدم این است که ببینیم gd سرور ما فعال است یا نه. 
اگر فعال نبود با مدیر سرور اگر ممکن است تماس بگیرید. 


و اگر لوکال کار می کنید باید خودتان اگر فعال نیست فعال کنید. در easyphp در پوشه apache فایل php.ini تغییر زیر را انجام دهید: 
;extension=php_gd2.dll => extension=php_gd2.dll 
یعنی سمی کالن که کامنت ساز است را از اول خط بردارید. بعد ریست کنید easyphp را. 
در wamp می گویند خودش فعال است. من امتحان نکردم. 


برای اینکه بفهمید آیا فعال است یا نه از تابع phpinfo استفاده کنید



حالت اول:

مثال از مانوال php :

 
<?php
header ("Content-type: image/png");
$im = @imagecreatetruecolor(150, 30) or die("Cannot Initialize new GD image stream");
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>
نتیجه کار، یک کادر مشکلی رنگ با ابعاد 150 در 30 خواهد شد که نوشته‌ای با رنگ قرمز روی آن نوشته شده است:


شرح: 
خط اول که header است. 
خط دوم اندازه عکس با x و yy آن...

 
خط سوم تعیین رنگ :عدد اولی میزان قرمز است که از صفر تا 255 جا دارد و بعدی سبز و بعدی آبی.

 



خط چهارم بعد $im که در بالا ساخته شده . فواصل حروف و بعد x و y محل قرارگیری رشته و بعد خود رشته و بعد رنگ نوشته.
 خطهای پنجم و ششم انجام عملیات و تخریب شی.

 

حالت دوم:

مثال از مانوال php با کمی تغییر:

 
<?php

header("Content-type: image/png");
$string ="Hello world!";
$im = imagecreatefrompng("button.png");
$red = imagecolorallocate($im, 255, 0, 0);
$px = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 5, $string, $red);
imagepng($im);
imagedestroy($im);

?>
کد بالا عکسی با نام button.png را که به شکل زیر است:



باز می‌کند و چنین حالتی را نتیجه خواهد داد:



شرح کد :
خط اول که header است و کارش همین است که اعلام کرده.
خط دوم که رشته نوشتنی را Hello world! اعلام کرده.
خط سوم آدرس عکس و نامش را داده.(در اینجا فقط نام عکس است)
خط چهارم رنگ قرمز را با اعداد 255 و صفر و صفر ساخته ایم. عدد اولی میزان قرمز است که از صفر تا 255 جا دارد و بعدی سبز و بعدی آبی. 
خط پنجم محاسبه x نوشته ما. کمی دقت کنید می فهمید چه فلسفه ای دارد این محاسبه.
خط ششم یک سری مقدار ارسال شده که اولی فواصل حروف و دومی x و سومی y نوشته و بعد خود نوشته و رنگی که باید نوشته شود که قرمز است.