> 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/french/function-blocks/blocks-reference/input-output/outputs-exports/image-logger.md).

# Image Logger

Ce bloc fonction enregistre les images entrantes sur le disque avec un nom de fichier, un format et des limites de stockage configurables. Utilisez-le pour capturer et archiver des images lorsqu'un signal de déclenchement est reçu, ou pour sauvegarder périodiquement des images pour inspection.

## 📥 Entrées

`Folder Path` - Dossier de destination où les images seront sauvegardées. Fournissez un chemin valide.

`File Name` - Nom de fichier optionnel. Si vide, un nom basé sur un horodatage sera utilisé.

`Image Limit` - Nombre maximal optionnel d'images à conserver dans le dossier. Lorsque la limite est dépassée, les images les plus anciennes sont supprimées.

`Input Image` - Données d'image à sauvegarder. Connectez n'importe quel bloc produisant une image à cette entrée.

`Trigger` - Déclencheur booléen qui contrôle l'enregistrement. Lorsque la condition du déclencheur est active, l'image sera écrite selon les paramètres configurés.

## 📤 Sorties

Ce bloc fonction ne produit aucune sortie.

## 🕹️ Contrôles

`Save Mode` - Contrôle déroulant permettant de choisir entre `Full Size` (PNG) et `Compressed` (JPEG). Le mode compressé réduit la taille des fichiers au détriment de la qualité.

## 🎨 Fonctionnalités

* Nom automatique basé sur l'horodatage lorsque `File Name` n'est pas fourni.
* Compression d'image optionnelle pour réduire l'utilisation du disque.
* Limite du nombre d'images dans le dossier avec suppression automatique des fichiers les plus anciens.
* Compatible avec toute source d'image entrante (caméras, chargeurs, ou images traitées).
* Messages d'information et d'erreur clairs lors des succès ou échecs de sauvegarde.

## 📝 Instructions d'utilisation

1. Définissez la destination en fournissant `Folder Path` ou utilisez un bloc qui la fournit.
2. Facultativement, fournissez un `File Name` ; laissez vide pour utiliser un nom automatique basé sur l'horodatage.
3. Facultativement, définissez `Image Limit` pour contrôler le nombre d'images conservées dans le dossier.
4. Connectez une source d'image à `Input Image`.
5. Utilisez `Trigger` pour contrôler quand les images sont écrites. Activez le déclencheur pour sauvegarder l'image courante.
6. Choisissez le `Save Mode` souhaité pour une sortie PNG ou JPEG compressée.

## 📊 Évaluation

Quand le bloc reçoit une `Input Image` valide et que la condition `Trigger` est satisfaite, il tente de sauvegarder l'image dans le `Folder Path` fourni en utilisant le `Save Mode` choisi. Si le dossier contient plus d'images que la valeur de `Image Limit`, les fichiers les plus anciens sont supprimés pour respecter la limite. Des messages d'information indiquent le succès ; des messages d'erreur expliquent les échecs (chemin invalide, permissions d'écriture, etc.).

## 💡 Astuces

* Utilisez `Choose Folder` pour permettre aux utilisateurs de sélectionner visuellement le dossier cible et l'alimenter dans `Folder Path`.
* Combinez `Date-Time` (horodatage) avec `File Name` pour créer des noms lisibles et triables chronologiquement.
* Prévisualisez les images avant sauvegarde en envoyant la même image vers `Show Image` pour inspecter visuellement les images.
* Réduisez l'utilisation du disque en ajoutant un `Image Resizer` avant ce bloc pour réduire la taille des images très volumineuses avant sauvegarde.
* Pour capturer depuis des sources en direct, combinez avec `Camera USB`, `Camera IP (ONVIF)` ou `Stream Reader` comme fournisseur d'images pour archiver des images provenant de caméras ou de flux.
* Si vous avez besoin de métadonnées structurées avec les fichiers, envoyez les sorties de détection/mesure vers `CSV Export` pour consigner des détails (nom de fichier, horodatage, compteurs).
* Utilisez `File/Folder Operations` pour créer des dossiers ou gérer les fichiers sauvegardés de manière programmatique avant ou après la journalisation.
* Pour des flux qui écrivent plusieurs images à la fois, considérez les blocs `Multi Image Write` ou `Image Write` comme alternatives si vous avez besoin d'un nommage ou d'un comportement de déclenchement différent.

## 🛠️ Dépannage

* Erreurs de dossier invalide : vérifiez que `Folder Path` existe et que l'application a les permissions d'écriture. Utilisez `File/Folder Operations` pour créer les dossiers requis en amont.
* Aucune image sauvegardée : vérifiez que `Input Image` est connecté et que `Trigger` est actif au moment attendu.
* Trop de fichiers accumulés : définissez une valeur raisonnable pour `Image Limit` ou exécutez une routine de nettoyage avec `File/Folder Operations`.
* Fichiers volumineux ralentissant la sauvegarde : passez le `Save Mode` en `Compressed` ou ajoutez un `Image Resizer` en amont.
* Si les noms de fichiers entrent en collision, incluez un horodatage (via `Date-Time`) ou un index pour garantir l'unicité des noms.
