| 

.NET C# Java Javascript Exception

3
Wenn ich Text unter GDI+ mit der Methode DrawString ausgebe, kann ich den Zeilenabstand mit der Methode GetHeight der Font-Klasse auslesen. Wie kann ich den Zeilenabstand ändern?
News:
21.05.2013
Volker Nemm 391 1 7
2 Antworten
1
Hilft dir dieser Link weiter?
22.05.2013
KN 1,7k 1 8
Danke für den Link! Das ist zwar nicht optimal, sollte sich aber nutzen lassen.
Volker Nemm 23.05.2013
1
Die PdfSharp-Libary bietet eine Klasse XTextFormatter die eine fast fertige Implementierung dessen enthällt was du brauchst. Und zwar wird der mehrzeilige Text in Blöcke (Wörter) aufgeteilt und dann die Positionen jedes einzelenen Blocks ermittelt.
Eine Modifikation des Codes ist recht einfach (hab ich selbst schon gemacht um eine Unterstützung für Blocksatz und Silbentrenner hinzuzufügen) und die Lösung funktioniert auch mit der GDI+ zusammen (also System.Drawing). Interessant sind für dich die Methoden: CreateBlocks und CreateLayout sowie die Methode mit der Signatur:

DrawString(string text, XFont font, XBrush brush, XRect layoutRectangle, XStringFormat format)

Für deine Zwecke musst du nur die Variable "this.lineSpace" um den Zeilenabstand erhöhen.
23.05.2013
Floyd 14,6k 3 9
Das klingt wirklich gut. Danke für diesen Hinweis!!!
Volker Nemm 24.05.2013

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH