33 Stimmen

Delphi/Lazarus: Text mit transparentem Hintergrund auf Canvas schreiben

Tutorial von Gast | Letztes Update am 13.06.2021 | Erstellt am 29.05.2014

Mit der Funktion Canvas.TextOut(X, Y, 'Text') kann ich ohne Probleme einen Text auf dem Canvas von einem Bitmap (TBitmap) oder einer Form ausgeben.

Das Problem ist aber, dass automatisch hinter dem Text ein farbiger Hintergrund gezeichnet wird. Das sieht dann aus als ob der Text in einem Kasten geschrieben wurde, der dann den eigentlichen Hintergrund überdeckt.

Die Farbe, die für den Hintergrund verwendet wird lässt sich zwar über Canvas.Brush.Color anpassen, jedoch gibt es Situationen, in denen das nicht praktikabel ist. Zum Beispiel wenn ich Text auf ein Bild oder einen Farbverlauf schreiben möchte. In diesen Fällen sieht der farbige Hintergrund hinter dem Text sehr unprofessionell aus.

Gibt es daher eine Möglichkeit, Text mit einem Hintergrund ohne Hintergrundfarbe in Transparent auf den Canvas zu schreiben?

AntwortenPositivNegativ
3Beste Antwort3 Stimmen

Wenn du den Text mit einem transparenten Hintergrund schreiben möchtest, kannst du vorher den Brush-Style auf bsClear setzen:

Canvas.Brush.Style := bsClear;
Canvas.TextOut(100, 100, 'Transparenter Text');

Damit sollte der Text auch problemlos auf andere als einfarbige Hintergründe geschrieben werden können.
Letztes Update am 13.06.2021 | Erstellt am 31.05.2014

AntwortenPositiv Negativ
Antworten

Über den Autor

AvatarDer Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen

 

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.