Bonjour,
Je suis actuellement sur la création d'un composant de dessin.
Pour des raisons d'efficacité, j'ai choisi de dessiner dans un bitmap, et d'afficher ce bitmap à l'écran au moment du rafraichissement (Paint).
Le composant sera placé en principe au dessus d'un TImage avec une photo dedans, en mode transparent.
Première question : je n'ai pas trouvé de paramètre me permettant d'éviter le petit coup de flash au moment du rafraichissement du TImage. Une idée pour résoudre ce point (pour l'instant, je compte supprimer le TImage et la dessiner dans le fond du composant ou de la fenêtre de l'appli avec Draw) ?
Mon dessin est composé de bitmaps, de lignes et de portions de texte.
Pour dessiner ce texte, j'ai utilisé deux méthodes qui donnent le même résultat complètement pourri si j'active la transparence de mon bitmap (nécessaire pour pouvoir se superposer à la photo):
etCode:_canvas->TextOut(FAX-size.cx/2,FY-size.cy,FNom);
Et voila ce que ca donne.Code:DrawText(_canvas->Handle,FNom.c_str(),FNom.Length(),&rect, DT_CENTER|DT_NOPREFIX|TA_TOP|TA_NOUPDATECP);
http://pagesperso-orange.fr/marc.peter/test.jpg
Le texte du haut a été affiché par un TLabel, celui du bas par DrawText, en utilisant une copie de la fonte du TLabel. Ce sont les traces rouges qui polluent l'affichage. Je me suis amusé à agrandir la police (taille 30), et alors on voit bien la bordure d'une autre couleur, comme si le texte devait être dessiné en relief.
A l'écran, les drawtext sont à peine visibles.
Quelqu'un a-t-il déjà subi ce phénomène?
Une (des) solutions auraient-elles été trouvées?
Aux courageux qui ont réussi à lire jusque là j'adresse tous mes remerciements (aux autres aussi, mais ils ne les liront pas...).
Cordialement,
MP