مفهوم – سنكمل في درس اليوم مع مفهوم كيفية إنشاء الصور في مكتبة الصور بلغة php .
تعلمنا كيف نقوم ببرمجة موقع بلغة php ورأينا كم هي سهله وجميله في التعامل, ولكن استخدام لغة php لا يقتصر على اصدار ملفات
html او php بل يسمع لك ايضا بإنشاء الصور بأنواعها سواء كانت متحركه او ثابته. توجد هناك مكتبة خاصه لعمل هذه الصور وتسمى
مكتبة GD والاسم الكامل لها هو (GD Library ).
لهذه المكتبة اصدارات كثيره وسوف نتكلم عن الاصدار رقم 2.0.28 وهو متوافق مع الانواع JPEG و GIF و PNG. كلها تعمل بنفس الطريقه, هل وصلت الى مرحلة الحماسه للتعلم , اذن لنبدأ بتعريف هذه الصور واحده تلو الاخرى.
JPEG:
تنطق هذه العباره بالطريقه ( جاي-بيق ) وهي اختصار لـ ( Joint Photographic Experts Group ). انا متأ:د انك تعرف هذه النوعيه من الصور فنستخدمها كثيرا اذا اردنا حفظ الصور وهي مفيده اذا كانت في الصوره الوان كثيره وتدرجات كثيره. هذه النوعيه ليست جيده عند استخدام رسوم الخطوط و النصوص و الاجزاء التي تحتوي على لون جامد واحد. يمكنك معرفة امور اكثر عن هذه النوعيه عن طريق الموقع الخاص بهم موقع JPEG.
PNG:
تنطق هذه العباره بالطريقه ( بنق ) وهي اختصار لـ ( Portable Network Graphics ) وخصائص هذه النوعيه متماثله مع النوعية GIF وهي
تعتبر بديلا للنوعيه GIF. وسبب هذا البديل هو ان PNG اكثر جوده من النوع GIF. ويمكنك معرفة معلومات اكثر عن هذا النوع عن طريق الموقع الخاص بهم موقع PNG
GIF:
هذه النوعيه اختصار لـ ( Graphics Interchange Format ) وتستخدم كثيره في مواقع الانترنت لانها خفيفه وتستطيع عمل الصور المتحركهز تنصح بعض الكتب بإستخدام النوعيه PNG بدل من هذه النوعيه لانها اسهل.
انشاء الصور :
لانشاء الصور في لغة PHP نتبع 4 خطوات وهي مفيده جدا وتسهل علينا العمل
- انشاء الخلفيه المراد العمل عليها
- رسم المجسمات او الكتابات على هذه الخلفيه
- تصدير هذه الصور او العمل
- تنظيف العمل
لنقم بعمل مثال بسيط على هذه الطريقه لنفهم كيفية العمل
بعد تنفيذ هذا العمل سوف يكون الناتج هو التالي :
ملاحظه : في حالة عدم ظهور الصوره قم بكتابة الكود بالشكل التالي, اضغط هنا
لنقم الان بشرح عملنا خطوه خطوه
اعداد الصوره:
اول عمل قمنا بفعله هو انشاء صوره لنقم بالرسم عليها لنقل انها كراسة الرسم الخاصه بنا , وهناك طريقتين لعمل هذه الطريقه الاولى بإستخدام الداله ImageCreate وهي تأخذ مدخلان العرض والطول بالترتيب وسوف تقوم بإرجاع الصوره التي قمنا بعملها
الطريقه الثانيه هي انشاء خلفية العمل من صوره موجوده مسبقا لدينا بأي نوع كانت بإستخدام الداله ImageCreateFromPng او ImageCreateFromJpeg او ImageCreateFromGif وهي تأذخ مدخل واحد وهو اسم الصوره التي نريد العمل عليها ( اسم الملف ) والطريقه كالتالي :
رسم الصوره:
قمنا بعد ذلك برسم الاشكال التي نريدها على الصوره, وفي الحقيقه هناك طريقتان لعمل ذلك , اولا يجب ان نقوم بإختيار الالوان التي نريدها , وكما نعرف انها مكونه من 3 الوان وهي الاحمر والاخضر والازرق , ويمكن استخدام هذه الالوان عن طريق الداله ImageColorAllocate وهي تأخذ 4 مدخلات وهي الصوره , اللون الاحمر واللون الاخضر والازرق وقد عملنا في مثالنا لونان وهما الابيض والاسود. وهذه الداله تقوم بإرجاع اللون الذي سنستخدمه لاحقا.
الطريقه الثانيه هو رسم ما نريد ويكون على اربع نقاط نحتاج اليها , الصوره , الاحداثيات , اللون , معلومات النص ( اذا كان نص ) , ويمكننا مشاهدة عملنا في مثالنا هنا:
الداله ImageFIll تقوم بتعبة الصوره وتأخذ 4 مدخلات وهي الصوره , الاحداث السيني , الاحداث الصادي , واللون.
الداله ImageLine تقوم برسم خط وتأخذ 6 مدخلات وهي , الصوره , بداية الاحداث السيني , بداية الاحداث الصادي , نهاية الاحداث السيني , نهاية الاحداث الصادي , اللون.
الداله ImageString تقوم بكتابة نص على الصوره وتأخذ 6 مدخلات , الصوره , نوع الخط , الاحداث السيني , الاحداث الصادي , النص , اللون
** لاحظ ان ( 0, 0 ) معناها الركن العلوي الايسر
اصدار الصوره:
يمكننا اصدار الصور بطريقتين , الطريقه الاولى الى المتصفح , الطريقه الثانيه حفظها على شكل ملف, وفي مثالنا استخدمنا الطريقه الاولى وهي تصدير الصوره الى المتصفح. ويكون العمل على خطوتين , الخطوه الاولى يجب ان نخبر المتصفح اننا نريد تصدير صور بدلا من مجرد نصوص او HTML ويمكننا عمل ذلك عن طريق الداله Header التي تعملناها سابقا.
في العاده عندما نقوم بتصدير ملف HTML او PHP يكون الارسال تلقائيا بالشكل التالي Content-type: text/html وهو يخبر المتصفح كيف ان يقوم بترجمة المعلومات. الخطوه الثانيه نقوم بإخراج الصوره الى المتصفح بإستخدامنا للداله ImagePng او ImageJpeg او ImageGif وقمنا بعمل ذلك في ملفنا بالطريقه التاليه
في حالة اردنا ان نقوم بتصدير الصوره الى ملف نقوم بكتابة اسم الملف كمدخل ثاني الى الداله , ويكون بالطريقه التاليه :
تنظيف العمل:
بعد ان تقوم بطباعة الصوره والانتهاء من العمل يجب ان تقوم بإرجاع جميع ما استخدمه لانشاء الصوره للخادم وذلك يكون بتدمير الصوره التي قمت بإنشائها وذلك عن طريق الداله ImageDestroy وقمنا بعمل ذلك في مثالنا بالشكل التالي: