![]() |
Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7
Liste der Anhänge anzeigen (Anzahl: 1)
Grüßt Euch miteinander!
Vor kurzem bin ich von Delphi 7 auf Delphi 10.2 Tokyo umgestiegen. Die Übertragung von einem Programm, an welchem ich seit etwa 3 Monaten arbeite hat unproblematisch geklappt. Bis auf eine unschöne Sache: bei der Ausgabe von Text auf ein TImage, dessen Eigenschaft auf Transparent gesetzt wurde um ein darunterliegendes TImage zu "beschriften" tritt bei Delphi 10.7 ein "Zuckerrand" auf. Das angehängte Bild zeigt die Ausgabe des gleichen Programms unter D7 und D10.2. Hat jemand eine ähnliche Erfahrung gemacht und weiß evtl. einen Workaround? Meine bisherige Recherche in diesem Forum und bei Google und hat mir leider bisher keine Ergebnisse geliefert. Ich hoffe, dass ich das Thema in der richtigen Rubrik platziert habe. Danke im Voraus Wolfgang |
AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7
Das scheinen auch zwei völlig unterschiedliche Schriftarten zu sein, oder? Delphi 7 kenne ich nicht, aber
Delphi-Quellcode:
, insbesondere Eigenschaften wie
Image1.Canvas.Font
Delphi-Quellcode:
würde ich mal genauer unter die Lupe nehmen und vergleichen. Vielleicht waren zu D7-Zeiten noch andere Standards üblich?
Quality
|
AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7
Es wurden in der Zwischenzeit die Standard-Fonts im Delphi geändert. (wenn ich mich recht erinnere ... Arial > Tahoma oder so)
Wenn so klein aber lesbar, dann vielleicht auch einen ganz anderen Font nutzen? z.B. Small Font Eventuell nutzt das neue Delphi andere Einstellungen bei den Fonts. (in Canvas und Co.) Mußt mal schauen, ob/wie man das nachträglich ändern kann. Entweder sowas wie das genannte Quality, oder direkt über die WinAPI mit Canvas.Handle (HDC) oder Canvas.Font.Handle (HFONT). ![]() ![]() vielleicht ist auch da noch bissl was zu finden ![]() ![]() |
AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7
Für mich sieht es aus, als ob du dem Anti-Alias der Schriftart zum Opfer fällst. Dein Image das du mit Schrift versiehst hat "real" den Hintergrund weiß. Die Schrift - die du drauf zeichnest - möchte "weniger Pixelig" erscheinen und färbt Randpixel zusätzlich etwas ein, damit die Schrift schärfer wirkt (mir fehlt gerade der Fachbegriff dafür). Das kann dann aber das Image nicht mehr Transparent schalten, dass es ja nicht mehr rein-weiß ist.
Lösungsmöglichkeiten: 1. Dieses Antialiasing der Schrift abschalten - das könnte dir weiter helfen ( ![]() 2. Alles auf ein Image / Paintbox / Canvas zeichnen - nacheinander -> Bild -> Linien / Kreise ->
Delphi-Quellcode:
Ich hoffe dich bringt das weiter.
Brush.Style := bsClear;
TextOut(....); Gruß, Chris |
AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7
Hallo miteinander,
danke für Eure Antworten und Eure Sachlichkeit (in manchen Foren ist der Ton unangenehm rau). Die meisten Eurer Vermutungen und Anregungen hatte ich schon geprüft. Leider hatten sie nicht weitergeholfen. Ich hoffe am Wochenende Zeit zu finden, Eure Vorschläge systematisch durchzugehen, gebe anschließend feedback. Mit freundlichen Grüßen Wolfgang |
AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7
Moin...:P
Zitat:
|
AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7
Zitat:
Grüße Wolfgang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz