اليوم سأشرح لكم فئة/كلاس لإنشاء صورة والكتابة عليها..
كثيرة هي الأمثلة والفئات التي تتعامل مع الصور والنصوص، لكن هذه الفئة تقسم المهام المختلفة لفئات تتخصص كل فئة تقوم بعمل معين لتتكامل الفئات المختلفة مع بعضها..
ملاحظة (لا يشترط ترتيب استخدام الدوال/الوظائف)
اسم الفئة PNGوهي تنشئ صور من النوع png..
نأتي الآن لطريقة الإستخدام:
$png = new PNG();
$png->size->set(int width, int height, [int quality]);
- تحديد حجم الصورة: وتأخذ المعاملات التالية (العرض، الطول، الجودة:إختياري)
وتتراوح الجودة بين القيمتين= [0-9]
0 : جودة أصلية (بدون ضغط)
1-9: ضغط الصورة (يستهلك الذاكرة إذا كان حجم الصورة كبير)
$png->color->set(int red, int green, int blue);
تحديد اللون: (احمر، اخضر، ازرق)
حيث يتكون اللون من خليط من ثلاثة ألوان رئيسية وتتراوح قيمة اللون الواحد من [0-255]
$png->text->set(int font_size, string text);
$png->text->setPos(int x, int y);
$png->text->align(boolean horizontal, boolean vertical, [boolean auto_correct]);
توسيط الخط: (افقي، عمودي، تصحيح تلقائي:إختياري)
تستخدم هذه الدالة/الوظيفة لتوسيط الخط في الصورة افقياً أو عمودياً أو كلاهما والمعامل الأخير لتصحيح خطأ صغير في موقع النص.
$png->text->correctPos(int x, int y);
تعديل موقع النص: (س، ص)
يستخدم لازاحة موقع النص ويمكن أن يأخذ قيم سالبة.
إذا كان الخط موسطاً فإنه يضيف القيم في هذه الدالة لإزاحة موضع الخط قليلاً عن الوسط.
$png->text->setAngle(int degree);
تدوير النص: درجة الدوران: [360:0]، [-1:-360]
ومعامل هذه الدالة/الوظيفة يقبل القيم السالبة أيضاً
$png->text->reverse();
قلب النص أو ترتيب مواضع الحروف بالعكس:
يستفاد منه لتصحيح اتجاه الخط العربي (لكن الكلاس لا يدعم اتصال الحروف في اللغة العربية)
$png->text->color->set(int red, int green, int blue);
$png->text->font->set(string font_path.ttf');
تحديد مسار الخط لاستخدام خط معين (مسار الخط)
يجب أن تحدد مسار للخط لاستخدامه وأن يكون من النوع ttf
إذا لم تقم بتحديد مسار الخط فسيتم استخدام خط افتراضي من خطوط النظام لكن حجمه يأخذ قيمة من [1-6] فقط.
$png->execute(string image_path);
تنفيذ الصورة ([مسار الصورة])
إذا وضعت اسم لمسار الصورة فسيتم حفظ الصورة في نفس المسار وسيستبدل الصورة الموجودة..
إذا تركت المعامل فارغاً فسيتم إرجاع سلسة نصية خاصة بالصورة، وقد تم معالجة الملف لكي تظهر الصورة في المتصفح.