AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas + DrawText: Geht mal und mal nicht

Ein Thema von RSE · begonnen am 16. Jun 2010 · letzter Beitrag vom 16. Jun 2010
Antwort Antwort
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#1

Canvas + DrawText: Geht mal und mal nicht

  Alt 16. Jun 2010, 12:44
Hallo!

Ich kann mir nicht erklären warum mein Text manchmal angezeigt wird und manchmal nicht.

Was tue ich?
Ich zeichne mit DrawText auf TBitmap.Canvas und kopiere das Ergebnis danach mit ZielCanvas.Draw auf mein ZielCanvas.

Wo liegt das Problem?
In meiner Entwicklungsumgebung Delphi 5 funktioniert das im Debug-Modus wunderbar. Die fertige exe läuft auch wunderbar, wenn ich sie auf meinem Rechner (WinXP Pro 2002 32bit SP3 in einer VirtualMachine von VMWare) öffne. Ebenso läuft sie auf meinem Rechner nativ unter Windows 7 Pro 64bit. Auf dem Rechner, auf dem sie zum Einsatz kommen soll (WinXP Pro 2002 32bit SP3), wird der Text nicht angezeigt. Die Berechnung der Größe des Textes scheint aber zu funktionieren (gleiche Vorgehensweise wie beim Zeichnen, lediglich wird DrawText mit DT_CALCRECT aufgerufen). Es kommt keine Fehlermeldung.

Irgendwelche Ideen?
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Canvas + DrawText: Geht mal und mal nicht

  Alt 16. Jun 2010, 12:48
Hallo,

wo genau rufst dein Zeichnen auf (stelle im Code).
Benutze OutputDebugString, um das Problem einzugrenzen
(Anzeige z.B. mit Debugging Tools von MS)


Heiko
Heiko
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Canvas + DrawText: Geht mal und mal nicht

  Alt 16. Jun 2010, 13:15
Mal ein paar Anstöße:
  • Schriftart nicht vorhanden?
  • Stört ein unterschiedlicher DPI-Wert?
  • Welche Farbtiefe ist eingestellt?
  • Welche Sprache wird ausgegeben und welche Sprache hat das Betriebssystem? Irgendwelche Sonderzeichen?
  • Funktioniert es, wenn du statt DrawText() Canvas.TextOut() verwendest?
Ist natürlich alles reine Spekulation...
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Canvas + DrawText: Geht mal und mal nicht

  Alt 16. Jun 2010, 13:21
Klappt
  1. das DrawText auf's Bitmap nicht oder
  2. das Zeichnen des Bitmaps auf ZielCanvas?
Das könntest du z.B. mit bmp.SaveToFile im Auswerten-Dialog ausprobieren.
Uli Gerhardt

Geändert von uligerhardt (16. Jun 2010 um 13:49 Uhr)
  Mit Zitat antworten Zitat
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#5

AW: Canvas + DrawText: Geht mal und mal nicht

  Alt 16. Jun 2010, 13:44
Bmp.SaveToFile ist noch ein guter Ansatzpunkt. Momentan verfolge ich die Vermutung, dass es was mit fehlenden Windows-Updates zu tun hat.
-Die Schriftart kanns nicht sein, die ist beim Standard belassen.
-Sprachenprobleme können es nicht sein, da überall das gleiche Win läuft und die gleichen Texte verwendet werden.
-Farbtiefe werde ich mal kontrollieren
-Dpi: Ich weiß zwar, dass es dazu eine Einstellung gibt, aber wo kann ich die einsehen/ ändern?
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#6

AW: Canvas + DrawText: Geht mal und mal nicht

  Alt 16. Jun 2010, 14:25
Die Farbtiefe wars!

Ich habe auf dem Bitmap eine transparente Farbe definiert, um nicht den gesamten Hintergrund zu übermalen auf dem Zielcanvas. Als Wert hatte ich $010000 ausgewählt. Wer benutzt diese Farbe schon? Problem: bei 16bit Farbtiefe wird dieser Wert auf schwarz gemappt und somit war meine Schrift auch transparent. Ich habe nun als transparente Farbe $00FBFF gewählt, diese wird auch bei 16bit Farbtiefe nicht auf gelb gemappt.
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz