AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Gr32 - Unterstrichener Text bei TextToPath geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Gr32 - Unterstrichener Text bei TextToPath geht nicht

Offene Frage von "Michael II"
Ein Thema von berens · begonnen am 14. Dez 2021 · letzter Beitrag vom 14. Dez 2021
Antwort Antwort
berens

Registriert seit: 3. Sep 2004
441 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Gr32

  Alt 14. Dez 2021, 15:22
Das wäre sehr unglücklich... :/

Ich dachte bei der TextToPath Funktion werden quasi die Glyphen als S/W Bitmap gezeichnet, über Rahmenlinien in einen "Path" verwandelt und dann mit ner richtigen "Vektorgrafik"-Funktion (PolyPolygonFS_LCD2) nochmal später tatsächlich gezeichnet. Da müsste ja dann die Unterstrichlinie dabei sein. Scheinbar ist dem aber nicht so.

Beim selbstzeichnen weiß ich halt auch wegen Zeilenumbrüchen etc, wo -pro Zeile- der Text aufhören würde - zusätzlich erschwert durch die mögliche Ausrichtung von Links-Mitte-Rechts, Oben-Mitte-Unten. Im Prinzip müsste ich mir die "Textrect" funktion komplett neu selbst programmieren, incl. Parsing von Zeilenumbrüchen etc. Ich brech ab...

Zitat:
Text1 bla bla Foo
mit Zeilenumbruch
darf dann nicht in ______________________________ ohne Zeilenumbruch enden, aber auch nicht in
Zitat:
Text1 bla bla Foo
_______________________
mit Zeilenumbruch
_____________
Evtl. könnte ich die normale TextRect Funktion von Windows (bzw. Bitmap.Canvas o.ä.) drüberwerfen, das sollte eigentlich -bis auf's Antialiasing- deckungsgleich sein. Gibt es Möglichkeit, unterstrichenen Text auszugeben, und dabei nur den "Unterstrich" zu zeichnen, also die Buchstaben wegzulassen? Ich meine da was im Kopf zu haben...?
Delphi 10.4 32-Bit auf Windows 10 Pro 64-Bit, ehem. Delphi 2010 32-Bit auf Windows 10 Pro 64-Bit
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
749 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Gr32

  Alt 14. Dez 2021, 16:06
Hallo, wenn du eh mit GR32 arbeitest zeichnest du doch eh selber? Warum dann nicht auch die Linie einfach selber unter den Text zeichnen? Also nicht aus Zeichen, sondern als Grafik, unterstreichen, durchstreichen, überstreichen, durchkreuzen, alles geht
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
berens

Registriert seit: 3. Sep 2004
441 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Gr32 - Unterstrichener Text bei TextToPath geht nicht

  Alt 14. Dez 2021, 19:09
> Warum dann nicht auch die Linie einfach selber unter den Text zeichnen?
Gerade bei mehrzeiligem Text weiß ich nicht, wo sich gerade die einzelnen Worte befinden. Abhängig von Schriftart, Zeichenhöhe, Kerning, Wordwrap, Ausrichtung (Oben Unten Mitte, Links Rechts Mitte) etc. ist es ab einer gewissen Zeilenzahl sehr unwahrscheinlich, dass ich noch halbs richtig unterstreiche. Bei einzeiligem Text ohne Umbruch - sicher: kein Problem. Bei mehrzeiligem Text müsste ich die komplette TextRect-Prozedur selbst nachprogrammieren um zu wissen, wo Buchstaben stehen und wo nicht - dafür habe ich nicht das Know-How, und auch nicht die Zeit wenn die TextToPath Prozedur das ja im Prinzip schon fertig kann.

Bei Ö und Ä sind die Punkte auch extra und nicht durchgehend als Pfad verbunden. Warum kommt die Unterstreichen-Linie nicht?

Im Anhang kann man sehen, wie sich die Länge der Worte und deren "Unterstreichungen" nicht decken. Woher sollte man also diese Abmessungen nehmen, ohne sie mit exorbitnatem Aufwand selbst zu kalkulieren?
Angehängte Grafiken
Dateityp: png 2021-12-14 20_14_36-Window.png (10,0 KB, 16x aufgerufen)
Delphi 10.4 32-Bit auf Windows 10 Pro 64-Bit, ehem. Delphi 2010 32-Bit auf Windows 10 Pro 64-Bit

Geändert von berens (14. Dez 2021 um 19:16 Uhr)
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
778 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Gr32 - Unterstrichener Text bei TextToPath geht nicht

  Alt 14. Dez 2021, 20:41
Wenn du nur waagrecht Text ausgeben willst, dann könntest du _BitMap.RenderText() verwenden. Damit klappt es mit dem Unterstreichen - und gerendert wird auch schön.
Michael Gasser
  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 13:41 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