آموزش پی اچ پی - قسمت پنجم- جی دی
سلام !
nload="NcodeImageResizer.createOn(this);" border="0">
بعد از يک ماه تاخير بالاخره قسمت پنجم رو هم نوشتم !
nload="NcodeImageResizer.createOn(this);" border="0">
تو اين قسمت ميخواه در باره جي دي صحبت کنم و راه استفاده از اونو بگم ...
nload="NcodeImageResizer.createOn(this);" border="0">
اول يه مقدار مقدمه !
nload="NcodeImageResizer.createOn(this);" border="0">
پي چ پي فقط به دادن خروجي متن محدود نيست شما ميتونيد عکس هاي متعددي با
فرمت هاي متنوع با پي اچ پي خروجي داشته باشيد مثل PNG , GIF , JPG . WBMP ,
XPM و البته چندين فرمت ديگر که بايد پي اچ پي رو با اون ساطگاري بدين
پي اچ پي ميتونه عکس رو مستقيم به سوي مرو گر هدايت کنه
البته پي اچ پي به صورت پيش فرض اي ساخت عکس پشتيباني نميکنه که بايد آن را
نصب کنيد ( GD ) البته اين کتابخانه ( library ) روي بيشتر سرور ها به
صورت پيش فرض نصب هست ...
اما اگر نصب نبود ميتوانيد اين را از دانلود و نصب کنيد و يا به مدير سرور خود بگوييد که آن را نصب کند ...
در جيدي پشتيباني از PNG در نسخه 1.6 به بعد به وجود آمد و پشتيباني از GIF در نسخه -2.0.28 به وجود آمد
يک مثال :
PHP Code:
header("Content-type: image/png");
$string = $_GET['text'];
$im = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);
?>
براي استفاده از مثال بالا در صفحهات خود از اين دستور استاده کنيد :
HTML Code:
حالا اين مثال چيکار ميکنه ؟
مثال بالا ( button.php ) اول فايل images/button1.png رو باز ميکنه و بعد متغير TEXT رو روش مينويشه ( به صورت يک لايه جدا )
مثلا اگ شما دکمه هاي يکجور زيادي با متن متفاوت داريد ميتوانيد با استفاده
از اين اسکيپت در وضا صرفه جويي کنيد و ديگر همه دکمه ها را در سايت آپلود
نکنيد و به عبارتي دکمه به صورت ديناميکي ( dynamically ) ساخته ميشود
در پايين ليست و نحوه استفاده تمامي توابع gd نوشته شده :
gd_info
دادن اطلاعات در باره نسخه و ديگر چيزهاي GD نصب شده
:
اين تابع خروجي از نسخه چي دي و فرمت هاي پشتيباني شده توسط جي دي و ... را به شما ميدهد :
PHP Code:
print_r(gd_info());
?>
مثال بالا خروجي زير را بدنبال داره ( براي همه يکسان نيست )
Code:
Array
(
[GD Version] => bundled (2.0.28 compatible)
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[T1Lib Support] =>
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XBM Support] => 1
[JIS-mapped Japanese Font Support] =>
)
------------------------------
getimagesize
گرفتم اندازه عکس ( ابعاد)
با استفاده از اين تابع ميتوان اندازه عکس رو به دست آورد مثلا 48*52
اين تابع از GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, or WBMP پشتيباني ميکند
مثلا :
PHP Code:
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "";
?>
در نسخه 4.0.5 به بعد از URL هم پشتيبانش شد :
PHP Code:
$size = getimagesize("http://www.example.com/gifs/logo.gif");
?>
------------------------------
image_type_to_extension
گرفتن پسون عکس براي image type ()
روش استفاده :
PHP Code:
image_type_to_extension ( int imagetype [, bool include_dot] )
-----------------------------
image_type_to_mime_type
گرفتن mime type يک عکس
( mime type در شناسوندن نوع عکس ( مثلا PNG ) به مرور گر کاربرد دارد البته در حاهاي ديگر هم کاربرد دارد )
مثال :
PHP Code:
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>
اين تابع ميتواند حاوي يکي از خروجي هاي زير باشد :
خروجي نوع عکس
IMAGETYPE_GIF image/gif
IMAGETYPE_JPEG image/jpeg
IMAGETYPE_PNG image/png
IMAGETYPE_SWF application/x-shockwave-flash
IMAGETYPE_PSD image/psd
IMAGETYPE_BMP image/bmp
IMAGETYPE_TIFF_II(intel byte order) image/tiff
IMAGETYPE_TIFF_MM (motorola byte order) image/tiff
IMAGETYPE_JPC application/octet-stream
IMAGETYPE_JP2 image/jp2
IMAGETYPE_JPX application/octet-stream
IMAGETYPE_JB2 application/octet-stream
IMAGETYPE_SWC application/x-shockwave-flash
IMAGETYPE_IFF image/iff
IMAGETYPE_WBMP image/vnd.wap.wbmp
IMAGETYPE_XBM image/xbm
توجه : اين تابع نيازي به کتابخانه جي دي ندارد nload="NcodeImageResizer.createOn(this);" border="0">
--------------------------------------
image2wbmp
دادن خروجي به يک فايل يا مرور گر
مثال :
PHP Code:
$file = 'php.png';
$image = imagecreatefrompng($file);
header('Content-type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // output the stream directly
?>
لیست بقیه توابع رو بعدا میزارم ( حد اکثر تا هفتهی دیگر ...)