> 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/spanish/function-blocks/blocks-reference/detections-shapes/draw/draw-result-on-image.md).

# Draw Result On Image

Este bloque de función sobrepone un resultado textual sobre una imagen de entrada basándose en una condición booleana. Es útil para anotar estados de aprobado/fallado, mensajes de estado o cualquier resultado binario directamente en la imagen antes de continuar con más procesamiento o mostrarla.

## 📥 Entradas (sockets) <a href="#inputs" id="inputs"></a>

`Image` (Input socket) La imagen que recibirá el texto superpuesto.\
`Condition` (Input socket) Un valor booleano que determina qué texto y color se dibujarán.\
`Success Condition Text` (Input socket) Texto a mostrar cuando la condición es true.\
`Fail Condition Text` (Input socket) Texto a mostrar cuando la condición es false.

## 📤 Salidas (sockets) <a href="#outputs" id="outputs"></a>

`Image` (Output socket) La imagen resultante con el texto superpuesto.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`Font Scale` Ajusta el tamaño relativo de la fuente del texto superpuesto para adaptarse a distintas resoluciones de imagen.\
`Horizontal Position` Mueve el texto izquierda/derecha usando una escala simple 0..10 para un posicionamiento rápido.\
`Vertical Position` Mueve el texto arriba/abajo usando una escala simple 0..10 para un posicionamiento rápido.

## 🎨 Características <a href="#features" id="features"></a>

* Retroalimentación visual de aprobado/fallado: cuando `Condition` es true, el bloque dibuja `Success Condition Text` en verde; de lo contrario dibuja `Fail Condition Text` en azul.
* Tamaño adaptado a la resolución: el tamaño de la fuente se adapta a las dimensiones de la imagen para que el texto sea legible en distintas resoluciones.
* Posicionamiento rápido: los deslizadores horizontal y vertical permiten ubicar el texto de forma rápida y amigable sin usar coordenadas manuales.

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Proporcione una imagen al socket `Image`.
2. Alimente un señal booleana al socket `Condition` para indicar éxito o fallo. Puede generar esta señal con bloques lógicos como `Logic Input`, `Equals`, `And` o `Greater`.
3. Opcionalmente proporcione las cadenas `Success Condition Text` y `Fail Condition Text` para controlar los mensajes mostrados.
4. Ajuste `Font Scale`, `Horizontal Position` y `Vertical Position` hasta que el texto esté ubicado y dimensionado como desee.
5. Use la salida `Image` para continuar el procesamiento, mostrarla con el bloque `Show Image` o guardarla con `Image Write` / `Image Logger`.

## 📊 Evaluación <a href="#evaluation" id="evaluation"></a>

Al evaluarse, el bloque copia la imagen de entrada, elige qué texto dibujar según el socket `Condition`, renderiza el texto usando la escala de fuente y las posiciones seleccionadas, y devuelve la imagen anotada a través del socket de salida `Image`.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Combine con bloques de detección como `Object Detection`, `Object Detection - Custom` o `Mask Detection` para mostrar resultados OK/NOK por fotograma (por ejemplo, mostrar "OK" cuando se detecta un objeto o "Fail" cuando no).
* Use `Draw Detections` en conjunto para mostrar cuadros delimitadores y luego utilice este bloque para añadir una etiqueta general de aprobado/fallado.
* Inserte `Image ROI` o `Image ROI Select` antes de este bloque para recortar a una región de interés y colocar el texto relativo a esa región.
* Si desea registrar o guardar fotogramas anotados, conecte la salida a `Image Logger`, `Image Write` o `Record Video`.
* Construya condiciones complejas con bloques lógicos como `And`, `Or`, `Not` o comparaciones (`Greater`, `Equals`) y alimente el booleano final al socket `Condition`.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* No aparece texto: asegúrese de que los sockets `Success Condition Text` o `Fail Condition Text` estén establecidos (pueden dejarse vacíos, pero en ese caso no se dibujará nada).
* Texto fuera de la imagen: ajuste los deslizadores `Horizontal Position` y `Vertical Position`; aumente o reduzca `Font Scale` para un mejor encaje en imágenes grandes o pequeñas.
* Texto demasiado pequeño o demasiado grande: ajuste `Font Scale` y previsualice con el bloque `Show Image` hasta encontrar el tamaño adecuado.
