> 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/input-output/outputs-exports/image-write.md).

# Image Write

Este bloque de función guarda imágenes de entrada en disco cuando la condición de guardado está activa. Soporta compresión opcional (JPEG) y nombrado automático; está pensado para exportar fácilmente imágenes capturadas o procesadas.

## 📥 Inputs

`Folder Path`\
Ruta completa de la carpeta donde se guardará la imagen. Si se deja vacía, se usa la carpeta de trabajo actual.

`File Name`\
Nombre de archivo opcional sin extensión. Si se deja vacío, se utilizará automáticamente un nombre basado en la marca de tiempo.

`Save`\
Trigger booleano que controla si la imagen se escribirá en disco. Proporcione TRUE para guardar, FALSE para inhibir el guardado.

`Input Image`\
Imagen a guardar. Acepta cualquier formato de imagen común proveniente de bloques previos.

## 📤 Outputs

Este bloque de función no genera salidas (sockets) de datos. Informa su estado a través de mensajes de log visibles en la interfaz.

## 🕹️ Controls

`Compress Image`\
Checkbox para alternar el guardado como archivo JPEG comprimido en lugar de PNG sin compresión. Use compresión para reducir el tamaño de archivo cuando el espacio en disco o el ancho de banda de transferencia sea limitado.

## 🎨 Features

* Guardado bajo demanda usando la entrada booleana `Save`.
* Nombre de archivo automático (fallback) usando una marca de tiempo cuando no se proporciona ninguno.
* Opción de guardar como JPEG comprimido o PNG sin pérdida.
* Mensajes de log informativos que confirman el éxito o reportan errores (carpeta inexistente, permisos, o imagen faltante).
* Control de UI sencillo para habilitar/deshabilitar la compresión.

## ⚙️ Mecanismo de ejecución

Cuando la entrada `Save` está activa (TRUE), el bloque intenta escribir la `Input Image` actual en la ruta definida por `Folder Path` y `File Name`. Si `Compress Image` está marcado, la imagen se guarda como JPEG para reducir tamaño; de lo contrario se guarda como PNG. Si la carpeta no existe o la imagen falta, el bloque registra un error en lugar de guardar.

## 📝 Usage Instructions

1. Proporcione un destino usando la entrada `Folder Path` o déjelo vacío para usar la carpeta por defecto.
2. Opcionalmente, establezca un `File Name` o déjelo vacío para usar un nombre automático con marca de tiempo.
3. Alimente la imagen que desea guardar al socket `Input Image`.
4. Active la entrada `Save` (por ejemplo con un trigger manual o programático) para escribir el archivo.
5. Use la casilla `Compress Image` para elegir entre JPEG (más pequeño) o PNG (sin pérdida).

## 💡 Tips and Tricks

* Use `Choose Folder` para permitir que los usuarios seleccionen la carpeta destino de forma interactiva antes de guardar.
* Combine con `String Input` o `Date-Time` para construir nombres descriptivos y con marca temporal.
* Previsualice la imagen con `Show Image` antes de guardar para verificar el contenido.
* Si las imágenes son grandes, agregue `Image Resizer` antes de este bloque para reducir el tamaño guardado y mejorar el rendimiento.
* Use `Image ROI Select` o `Draw Result On Image` para recortar o anotar imágenes antes de guardarlas (por ejemplo: guardar regiones detectadas o resultados superpuestos).
* Para registrar muchas imágenes a alta frecuencia, considere usar `Image Logger` o `Record Video` en lugar de guardar fotogramas individuales en cada trigger.

## 🛠️ Troubleshooting

* Carpeta inexistente o error de permisos: verifique la ruta provista en `Folder Path` y utilice `Choose Folder` para evitar errores tipográficos.
* Error "No image data available": asegúrese de que el socket `Input Image` esté recibiendo datos de imagen válidos antes de activar `Save`. Previsualice con `Show Image` para confirmar.
* Archivos grandes o guardados lentos: habilite `Compress Image` o inserte `Image Resizer` para reducir la resolución antes de guardar.
* Nombres de archivo inesperados: incluya `Date-Time` o un `String Input` personalizado para generar nombres únicos y descriptivos y evitar sobrescrituras.

Si guarda repetidamente en intervalos cortos, asegúrese de que el almacenamiento destino tenga espacio libre suficiente y rendimiento de escritura adecuado para su escenario.
