> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/detections-shapes/draw/draw-result-on-image.md).

# Draw Result On Image

تقوم هذه الدالة بوضع نص مرئي فوق صورة واردة بناءً على شرط منطقي (Boolean). مفيدة لوضع حالات النجاح/الفشل، رسائل الحالة، أو أي نتيجة ثنائية مباشرة على الصورة قبل المعالجة أو العرض.

## 📥 المداخل (sockets)

`Image` (Input socket) — الصورة التي سيتم رسم النص عليها.\
`Condition` (Input socket) — قيمة منطقية تحدد أي نص ولون سيتم رسمه.\
`Success Condition Text` (Input socket) — النص المعروض عندما تكون القيمة صحيحة (true).\
`Fail Condition Text` (Input socket) — النص المعروض عندما تكون القيمة خاطئة (false).

## 📤 المخرجات (sockets)

`Image` (Output socket) — الصورة الناتجة بعد وضع النص فوقها.

## 🕹️ الضوابط

`Font Scale` — يضبط حجم الخط النسبي للنص المرسوم ليتناسب مع دقة الصور المختلفة.\
`Horizontal Position` — يحرك النص يمين/يسار باستخدام مقياس سهل 0..10 لوضع سريع.\
`Vertical Position` — يحرك النص أعلى/أسفل باستخدام مقياس سهل 0..10 لوضع سريع.

## 🎨 الميزات

* ملاحظة بصرية لحالة النجاح/الفشل: عندما تكون قيمة `Condition` صحيحة، يقوم الكتلة برسم `Success Condition Text` باللون الأخضر؛ وإلا فترسم `Fail Condition Text` باللون الأزرق.
* تحجيم واعٍ للدقة: حجم الخط يتكيف مع أبعاد الصورة حتى يظل النص مقروءًا على دقات مختلفة.
* وضع سريع وسهل: منزلقات الأفق والعمود توفر وضعًا سريعًا وسهل الاستخدام دون الحاجة لإدخال إحداثيات يدوية.

## 📝 تعليمات الاستخدام

1. وصل صورة إلى المقبس `Image`.
2. أدخل إشارة منطقية إلى المقبس `Condition` لتحديد النجاح أو الفشل. يمكنك إنتاج هذه الإشارة باستخدام بلوكات منطقية مثل `Logic Input`, `Equals`, `And`, أو `Greater`.
3. اختياريًا ضع نصوصًا مخصصة في `Success Condition Text` و`Fail Condition Text` للتحكم بالرسائل المعروضة.
4. اضبط `Font Scale` و`Horizontal Position` و`Vertical Position` حتى تحصل على حجم ومكان النص المطلوبين.
5. استخدم مخرج `Image` لمتابعة المعالجة، أو العرض عبر `Show Image`، أو الحفظ عبر `Image Write` / `Image Logger`.

## 📊 التقييم

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

## 💡 نصائح وحيل

* اجمعه مع بلوكات الكشف مثل `Object Detection`, `Object Detection - Custom`, أو `Mask Detection` لعرض نتائج OK/NOK لكل إطار (مثال: عرض "OK" عند اكتشاف كائن أو "Fail" عند عدم وجوده).
* استخدم `Draw Detections` بالتوازي لعرض صناديق الحدود ثم استعمل هذا البلوك لإضافة تسمية نجاح/فشل عامة.
* ضع `Image ROI` أو `Image ROI Select` قبل هذا البلوك لقص منطقة الاهتمام ووضع النص نسبةً لتلك المنطقة.
* لحفظ أو تسجيل الإطارات المشروحة، قم بتوصيل المخرج إلى `Image Logger`, `Image Write`, أو `Record Video`.
* أنشئ شروطًا مركبة باستخدام بلوكات منطقية مثل `And`, `Or`, `Not` أو مقارنات (`Greater`, `Equals`) وأدخل الناتج المنطقي النهائي إلى المقبس `Condition`.

## 🛠️ استكشاف الأخطاء وإصلاحها

* لا يظهر نص: تأكد أن مداخل `Success Condition Text` أو `Fail Condition Text` معبأة (يمكن تركها فارغة ولكن حينها لن يظهر أي نص).
* النص خارج الصورة: عدل منزلقات `Horizontal Position` و`Vertical Position`; زد أو قلل `Font Scale` لتناسب الصور الكبيرة أو الصغيرة.
* النص صغير جدًا أو كبير جدًا: اضبط `Font Scale` ومعاينة النتيجة عبر `Show Image` للوصول إلى الحجم المناسب.
