AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7

Ein Thema von WolfgangScherzer · begonnen am 28. Feb 2018 · letzter Beitrag vom 2. Mär 2018
Antwort Antwort
WolfgangScherzer

Registriert seit: 10. Feb 2014
Ort: Garching bei München
3 Beiträge
 
Delphi 7 Professional
 
#1

Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7

  Alt 28. Feb 2018, 12:01
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
Miniaturansicht angehängter Grafiken
diff7210.jpg  
Wolfgang Scherzer
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.157 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7

  Alt 28. Feb 2018, 12:24
Das scheinen auch zwei völlig unterschiedliche Schriftarten zu sein, oder? Delphi 7 kenne ich nicht, aber Image1.Canvas.Font , insbesondere Eigenschaften wie Quality würde ich mal genauer unter die Lupe nehmen und vergleichen. Vielleicht waren zu D7-Zeiten noch andere Standards üblich?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#3

AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7

  Alt 28. Feb 2018, 12:29
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).
https://msdn.microsoft.com/de-de/lib.../dd183433.aspx
https://msdn.microsoft.com/de-de/lib.../dd183499.aspx (CreateFont)

vielleicht ist auch da noch bissl was zu finden
https://www.codeproject.com/Articles...ng-Windows-GDI
https://www.codeproject.com/Articles...asing-with-GDI
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (28. Feb 2018 um 12:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7

  Alt 28. Feb 2018, 12:35
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 (http://www.delphipraxis.net/66610-cl...verwenden.html)
2. Alles auf ein Image / Paintbox / Canvas zeichnen - nacheinander
-> Bild
-> Linien / Kreise
->
Delphi-Quellcode:
Brush.Style := bsClear;
TextOut(....);
Ich hoffe dich bringt das weiter.

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules

Geändert von ChrisE (28. Feb 2018 um 12:38 Uhr)
  Mit Zitat antworten Zitat
WolfgangScherzer

Registriert seit: 10. Feb 2014
Ort: Garching bei München
3 Beiträge
 
Delphi 7 Professional
 
#5

AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7

  Alt 2. Mär 2018, 11:19
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
Wolfgang Scherzer
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#6

AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7

  Alt 2. Mär 2018, 11:30
Moin...
Zitat:
danke für Eure Antworten und Eure Sachlichkeit
..dafür sind wir bekannt.
  Mit Zitat antworten Zitat
WolfgangScherzer

Registriert seit: 10. Feb 2014
Ort: Garching bei München
3 Beiträge
 
Delphi 7 Professional
 
#7

AW: Canvas.Text ausgabe unsauber in D10.2 im Vergleich zu D7

  Alt 2. Mär 2018, 19:28
... aber Image1.Canvas.Font , insbesondere Eigenschaften wie Quality würde ich mal genauer unter die Lupe nehmen ...
Danke, habe Quality durchprobiert, diese hat auf Labels einen Effekt ... scheint sehr nützlich zu sein. Leider habe ich keine wesentliche Verbesserung auf dem Canvas-Text erkennen können. Die Behandlung von Text auf transparentem Canvas, scheint sich seit D7 verändert zu haben, denn bei gleicher Schriftart und -größe ist das Erscheinungsbild unterschiedlich. Wahrscheinlich, werde ich als workaround Labels zur Laufzeit erzeugen.

Grüße
Wolfgang
Wolfgang Scherzer
  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 01:25 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