أهلاً بك في منتدى انكور التطويري

شرفتنا بحضورك لمنتدى انكور التطويري، المجتمع العربي للمحتوى المفيد والحصري حيث ستجد لدينا ما تحتاج لتزيد من معرفتك وخبراتك والمساحة الآمنة لنشر معرفتك ومشاركتها مع الاعضاء والزوار

كيفية تفعيل و استخدام إمتداد GD الخاص بـ PHP

Admin

مدير شركة انكور التطويرية
طاقم الإدارة
ادارة انكور
بسم الله الرحمن الرحيم



كيفية تفعيل و استخدام إمتداد GD الخاص بـ PHP



مقدمة

GD هو ملحق للغة البرمجة PHP من خلاله يمكن إنشاء صور و عرضها على المتصفح.

لمعرفة التنسيقات التي يدعمها GD ، استخدم وظيفة gd_info في الـ "PHP".

كما هو معلوم، أي ملف بصغة الـ "php"، يتم تشغيله على سرفر.

و نحن في مثالنا هذا، مطالبون بإنشاء ملف بهذا الإمتداد لتجربة ما سنقوم به.

أول خطوة، هي تنصيب السرفر أو الخادم. ثم يأتي تفعيل الإمتداد.



إنشاء الملف و تشغيله



سنقوم بإنشاء مجلد "C:/xampp/htdocs/test" ، ثم نضيف بداخله ملف "image..php"



المسار الكامل للملف

كود:
C:/xampp/htdocs/test/image.php



الكود :

كود:
// مفغل "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);



سنعيد نفس المثال، لكن باستعمال نمط خط معين، نكون قد اخترناه مسبقا.

الخط، سيكون عبارة عن ملف بامتداد "gdf."

(Graphic Design Fonts)

يمكن لنا أن نختار ما نشاء من الأنماط من هنا



عند الولوج إلى الصفحة:

1) نذهب إلى العمود Download أقصى اليمين

2) نقوم بالنقر على الخط أو النمط المراد استعماله.

captur10.png




بعد تحميل ملف الخط، نقوم بحفظه داخل المجلد الذي قمنا بإنشائه سابقا "test" على المسار التالي:

كود:
C:/xampp/htdocs/test/fonts

سأستعمل في هذا المثال، ملف الخط "04b.gdf" الممكن تحميله لمن أراد من:

كود:
https://github.com/18bergen/webside/raw/master/www/fonts/04b.gdf

سنقوم في مرحلة أولى بتغيير طول و عرض الصورة​

كود:
//(200 * 40) إنشاء صورة جديدة
$im = imagecreate(200, 40);

ثم سنقوم بتعريف و استعمال الخط المراد استعماله. طبعا لكل ما أراد.

لتغيير نمط الخط، ما عليك سوى استبدال الملف فقط.

عوضا عن "04b.gdf"، استعمل الخط الذي قمت بتحميله.​

كود:
$font = imageloadfont('./fonts/04b.gdf');
imagestring($im, $font, 14, 10, 'iTabCode', $whitecolor);

كود الملف "image.php" بعد التعديل عليه​

كود:
<?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");
}

كما لحظنا في الكود، قد قمنا بتحسين عملية التحقق بإضافة شرط

كود:
if (version_compare(PHP_VERSION, '8.1.0') >= 0)

و ذلك لضمان سير العملية، و توافق المكتبة مع إصدار الـ "PHP 8.1.0 " أو أعلى.



المصدر : أكتب كود

بالتوفيق للجميع

والسلام ختام​
 

✔ نبذة عنا

منتدى انكور التطويري لدعم وتطوير المواقع والمنتديات والمحتوى العربي. نسعى للارتقاء في المحتوى العربي وتقديم الخدمات المتنوعة لأصحاب المواقع والمنتديات بأحدث الامكانيات والشروحات مجانًا.
عودة
أعلى