Bonjour !

J'essaye depuis quelques jours de créer ma propre implémentation d'un TextDrawer afin de lui rajouter quelques outils bien pratique. Mais je me suis aperçu que lorsque je met l'antialiasing sur mon texte, une bordure noire apparait.

Le texte est censé s'afficher sur une image. Pour simplifier le code, je commence par nettoyer l'écran avec une couleur de fondpuis je nettoie le quad qui va servir à plaquer ma texture où le texte apparaît. Cette couleur correspond à 0x00000000, où l'alpha est activé. Je vois donc bien mon background entre les caractères. Tout va bien sauf quand pour améliorer le rendu je rajoute :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
g.setRenderingHint(
RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Là, une bordure grise apparaît. Après avoir fait quelques tests, il s'avère qu'il s'agit de la couleur avec laquelle je nettoie mon quad (le fameux 0x00000000). Un patch pourrait être fait en nettoyant le quad avec la couleur de ma font, mais la classe gère aussi une ombre dont la couleur est déterminable séparément de la couleur du texte.

Donc je cherche une formule pour avoir un rendu correct face à ce problème, tout en gardant l'antialiasing. Une idée ?

Merci d'avance