22 Voix

Delphi/Lazarus: Écrire texte avec un fond transparent sur Canvas

Tutoriel de Invité | 11/06/2021 à 19:10

En utilisant la fonction Canvas.TextOut(X, Y, 'Text'), je peux écrire un texte arbitraire sur le canvas d'un bitmap (TBitmap) ou d'un formulaire sans aucun problème.

Cependant, le problème est qu'un arrière-plan coloré est automatiquement dessiné derrière le texte. On dirait que le texte a été écrit dans une boîte qui cache le vrai fond de la canvas.

Je peux ajuster la couleur de cet arrière-plan à l'aide de la propriété Canvas.Brush.Color, mais il y a suffisamment de situations dans lesquelles cela ne convient pas. Par exemple chaque fois que je veux écrire du texte sur une image ou n'importe quel dégradé de couleurs. Dans tous ces cas, l'arrière-plan coloré semble très peu professionnel.

Par conséquent, y a-t-il une possibilité de sortir le texte avec un fond transparent sur la canvas?

RépondrePositifNégatif
2Meilleure Réponse2 Voix

Si vous souhaitez écrire le texte avec un fond transparent, vous pouvez définir le Brush-Style sur bsClear avant:

Canvas.Brush.Style := bsClear;
Canvas.TextOut(100, 100, 'Texte Transparent');

Avec cela, vous devriez pouvoir écrire votre texte sans problème sur des arrière-plans qui ne sont pas constitués d'une seule couleur.
11/06/2021 à 20:46

RépondrePositif Négatif
Répondre

Sur l’Auteur

AvatarL’auteur n’a pas encore ajouté de brève description de profil.
Voir Profil

 

Sujets Connexes

VirtualBox: Changer la Date et l'Heure

Tutoriel | 10 Commentaires

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.