GD هو ملحق للغة البرمجة PHP من خلاله يمكن إنشاء صور و عرضها على المتصفح.
لمعرفة التنسيقات التي يدعمها GD ، استخدم وظيفة gd_info في الـ "PHP".
كما هو معلوم، أي ملف بصغة الـ "php"، يتم تشغيله على سرفر.
و نحن في مثالنا هذا، مطالبون بإنشاء ملف بهذا الإمتداد لتجربة ما سنقوم به.
أول خطوة، هي تنصيب السرفر أو الخادم. ثم يأتي تفعيل الإمتداد.
إنشاء الملف و تشغيله
سنقوم بإنشاء مجلد "C:/xampp/htdocs/test" ، ثم نضيف بداخله ملف "image..php"
المسار الكامل للملف
CODE
C:/xampp/htdocs/test/image.php<br />
<br />
الكود :
CODE
// مفغل "gd" تحقق مما إذا كان امتداد
$ext = extension_loaded('gd2')? extension_loaded('gd2'):extension_loaded('gd');
if (!$ext) {
exit('"php.ini" من على الملف "gd" لاستخدام الصور ، يجب عليك تفعيل الامتداد');
}
//(100 * 25) إنشاء صورة جديدة
$im = imagecreate(100, 25);
// الألوان والنصوص المستخدمة
//$whitebg = imagecolorallocate($im, 255, 255, 255);
//$orangebg = imagecolorallocate($im, 249, 147, 8);
$bluebg = imagecolorallocate($im, 3, 52, 70); // Alloue une couleur pour une image
$bluecolor = imagecolorallocate($im, 0, 0, 255);
$orangecolor = imagecolorallocate($im, 249, 147, 8);
$whitecolor = imagecolorallocate($im, 255, 255, 255);
$blackcolor = imagecolorallocate($im, 0, 0, 0);
// أضف جملة
imagestring($im, 5, 14, 5, 'iTabCode', $whitecolor);
//(header) ".png" إعلان رأس يتوافق مع عرض صورة بامتداد
header('Content-type: image/png');
// عرض الصور
imagepng($im);
// تحرير الذاكرة
imagedestroy($im);
سنعيد نفس المثال، لكن باستعمال نمط خط معين، نكون قد اخترناه مسبقا.
<?php
// على الخادم لتكون المكتبة متوافقة مع الإصدار PHP اتحقق من إصدار الـ
if (version_compare(PHP_VERSION, '8.1.0') >= 0) { // 8.1.0 ما لا يقل عن الإصدا
// مفغل "gd" تحقق مما إذا كان امتداد
$ext = extension_loaded('gd2')? extension_loaded('gd2'):extension_loaded('gd');
if (!$ext) {
exit('"php.ini" من على الملف "gd" لاستخدام الصور ، يجب عليك تفعيل الامتداد');
}else{
//(200 * 40) إنشاء صورة جديدة
$im = imagecreate(200, 40);
// الألوان والنصوص المستخدمة
//$whitebg = imagecolorallocate($im, 255, 255, 255);
//$orangebg = imagecolorallocate($im, 249, 147, 8);
$bluebg = imagecolorallocate($im, 3, 52, 70);
$bluecolor = imagecolorallocate($im, 0, 0, 255);
$orangecolor = imagecolorallocate($im, 249, 147, 8);
$whitecolor = imagecolorallocate($im, 255, 255, 255);
$blackcolor = imagecolorallocate($im, 0, 0, 0);
// استخدام الخط
// والإصدارات الأحدث PHP 8.1.0 من إصدار
$font = imageloadfont('./fonts/04b.gdf'); //(gdf => Graphic Design Fonts)
// أضف جملة
imagestring($im, $font, 14, 10, 'iTabCode', $whitecolor);
//(header) ".png" إعلان رأس يتوافق مع عرض صورة بامتداد
header('Content-type: image/png');
// عرض الصور
imagepng($im);
// تحرير الذاكرة
imagedestroy($im);
}
}else{
exit(" الإصدار 8.1.0 PHP على الأقل تتطلب GdFont");
}
كما لحظنا في الكود، قد قمنا بتحسين عملية التحقق بإضافة شرط
CODE
if (version_compare(PHP_VERSION, '8.1.0') >= 0)
و ذلك لضمان سير العملية، و توافق المكتبة مع إصدار الـ "PHP 8.1.0 " أو أعلى.