> 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/detections-shapes/draw/write-text-on-image.md).

# Write Text On Image

Cette fonction ajoute du texte personnalisable sur des images. Le texte est mis à l'échelle par rapport à la taille de l'image, peut être positionné avec des coordonnées normalisées, et peut afficher un fond semi-transparent derrière le texte pour améliorer la lisibilité.

## 📥 Entrées <a href="#inputs" id="inputs"></a>

`Image Any` Reçoit l'image sur laquelle écrire le texte.

`String` Texte optionnel. Si laissé vide, le bloc dessinera une chaîne vide (aucun texte visible).

## 📤 Sorties <a href="#outputs" id="outputs"></a>

`Image Any` L'image avec le texte appliqué.

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

`Text Position Horizontal` Déplace le texte gauche/droite avec une valeur normalisée (0.0 = gauche, 1.0 = droite).

`Text Position Vertical` Déplace le texte haut/bas avec une valeur normalisée (0.0 = haut, 1.0 = bas).

`Font Scale` Ajuste la taille globale du texte par rapport à l'image.

`Font Thickness` Ajuste l'épaisseur du trait du texte.

`Font` Choisit le style de police parmi les options disponibles.

`Color` Sélectionne la couleur du texte.

`Background Enabled` Active/Désactive un rectangle de fond semi-transparent derrière le texte pour un meilleur contraste.

## 🎨 Caractéristiques <a href="#features" id="features"></a>

* Mise à l'échelle automatique : la taille du texte s'adapte aux dimensions de l'image pour un rendu cohérent.
* Positionnement normalisé : placez le texte proportionnellement, indépendamment de la taille de l'image.
* Option de fond semi-transparent pour améliorer la lisibilité sur des images chargées.
* Fonctionne avec des textes dynamiques pour afficher des contenus variables (ID, étiquettes, valeurs de capteurs, etc.).

## 📊 Fonctionnement <a href="#evaluation" id="evaluation"></a>

Au lancement, le bloc lit l'image d'entrée et les réglages actuels, calcule une échelle de police et une position adaptées à la taille de l'image, dessine le rectangle de fond optionnel (si activé), rend le texte avec la police, la couleur et l'épaisseur choisies, puis renvoie l'image annotée pour les blocs suivants.

## 📝 Mode d'emploi <a href="#usage" id="usage"></a>

1. Branchez une source d'image sur l'entrée `Image Any`.
2. Fournissez un texte à l'entrée `String` ou laissez vide pour utiliser le texte interne du bloc.
3. Ajustez `Font`, `Color`, `Font Scale` et `Font Thickness` pour l'apparence souhaitée.
4. Placez le texte avec `Text Position Horizontal` et `Text Position Vertical`.
5. Activez `Background Enabled` si vous avez besoin d'un meilleur contraste sur des images complexes.
6. Prévisualisez le résultat en connectant ce bloc à un affichage comme `Show Image` ou sauvegardez avec `Image Write` / `Image Logger`.

## 💡 Astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Pour afficher une horodatation en direct, alimentez `String` depuis les blocs `Date-Time` ou `Date-Time List` et formatez avec `String Merge` avant de l'envoyer.
* Pour un aperçu en direct lors des réglages, connectez la sortie à `Show Image`.
* Si vous voulez écrire uniquement dans une zone spécifique, recadrez d'abord avec `Image ROI` ou `Image ROI Select` puis appliquez ce bloc.
* Pour une taille de texte cohérente sur des résolutions variées, utilisez `Image Resize` avant d'écrire le texte.
* Pour sauvegarder des images annotées, connectez la sortie à `Image Logger` ou `Image Write`.
* Pour superposer des résultats de détection, combinez avec des blocs comme `Find Object` ou `Object Detection` et envoyez les labels ou compteurs détectés vers `String`.
* Pour du texte conditionnel (par ex. OK / NOK), utilisez des blocs logiques (par ex. `Logic Input` ou des blocs de comparaison) et `String Merge` pour assembler le texte avant de l'envoyer à ce bloc.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Texte trop petit ou trop grand : ajustez `Font Scale` ou redimensionnez l'image d'entrée avec `Image Resize`.
* Texte illisible sur un fond chargé : activez `Background Enabled` ou changez la `Color` pour une meilleure contraste.
* Position du texte incorrecte selon les images : utilisez les positions normalisées `Text Position Horizontal` et `Text Position Vertical` et vérifiez le placement sur une image représentative avec `Show Image`.
