Printer.Canvas.TextOut [Résolu]

Signaler
Messages postés
5
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
12 juillet 2009
-
Messages postés
5
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
12 juillet 2009
-
Bonjour,


Je voudrais imprimer une image avec du texte en dessus, pour celà j'ai utilisé Printer.Canvas.TextOut pour le texte et Printer.Canvas.Draw pour l'image. Mais le text apparait avec un fond blanc.

Comment enlever le fond blanc ?

Merci.

Walid_Delphi

4 réponses

Messages postés
3825
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 février 2021
39
Salut,


essaye comme ceci :
Printer.Canvas.Draw(...); // Dessine l'image
Printer.Canvas.Brush.Style := bsClear; // met le fond transparent
Printer.Canvas.TextOut( ...); // Ecrit le texte














@+
Cirec
Messages postés
3825
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 février 2021
39
Printer.Canvas.PenPos := TPoint( 20, 50);
Mais jutiliserais plutôt :
Printer.Canvas.MoveTo(20, 50);

@+
Cirec
Messages postés
5
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
12 juillet 2009

Je vous remercie énormément c'est bon ça a marché c'était bien cett propriété Printer.Canvas.Brush.Style := bsClear

juste un autre truc je voudrais déssiner une ligne donc j'utilise  Printer.Canvas.LineTo(x,y) qui est une fonction pour déssiner une ligne de la position actuelle du crayon jusqu'au point (x,y). Mais pour changer la position du crayon (point début de la droite) il faut utiliser Printer.Canvas.PenPos qui est au format TPoint.
Comment affecter une valeur à Printer.Canvas.PenPos: =? (la maniére d'écriture)

Merci.

Walid_Delphi
Messages postés
5
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
12 juillet 2009

Merci.

Walid_Delphi