![]() |
Schrift Größe
Hey alle zusammen,
Ich hab da ein Problem. nach dem das mit dem Drucken jetzt funktioniert (alles außer Leerzeilen) hab ich ein problem mit Schriftgröße (zb Standard Word 11/12) und der Schriftgröße bei Lazarus. kann mir da jemand helfen wenn möglich einen umrechnuingsfaktor der auch die dpi des Druckers mit ein bezieht :D vielen dank schon mal. liebe Grüße Finki |
AW: Schrift Größe
Wenn Du Schrifthöhe in Punkt [pt] in Drucker-Pixel [px] meinst:
Delphi-Quellcode:
mit
SchriftSize:double; // Schrifthöhe in Punkt Printer.Canvas.Font.Height := -round(SchriftSize*Printer.Canvas.Font.PixelsPerInch/72); // [pt] -> [px] |
AW: Schrift Größe
Zitat:
|
AW: Schrift Größe
weil das das aus dem Verhältnis cm/inch ergibt. Punkt ist nunmal metrisch, dpi wie das i darin schon sagt. per inch.
|
AW: Schrift Größe
Beim Drucker kannst Du auch beides für die Schriftgröße verwenden, Punkt oder Pixel. Das würde ich abhängig machen von der verwendeten Schrift, ob es eine auf Punkt skalierbare Schrift ist oder eine nicht skalierbare Pixelschrift. (Beim Bildschirm dagegen würde ich immer Pixel vorgeben.)
Zitat:
Zitat:
Zitat:
Anmerkung zu meinem ersten Quellcode: Ich verwende einen Gleitkommawert für die Schriftgröße in Punkt, damit auch Zwischengrößen möglich sind. Bei Vorgaben in Pixeln sind logo Ganzzahlen (vorzeichenbehaftet) sinnvoll. |
AW: Schrift Größe
Zitat:
Die 72 kommt daher, dass Schriftgrößen in der Einheit „Punkt“ angegeben werden, und ein „Punkt“ definiert ist als 1/72 inch. Also bekommst du, wenn du die in Punkt angegebene Schriftgröße durch 72 dividierst, die Schriftgröße in inch. Wenn du diese Zahl dann mit PixelsPerInch multiplizierst, erhältst du folglich die Größe in Pixeln. |
AW: Schrift Größe
1 Pica Point = 0,35147 mm = 1/72,27 Inches <commentend>
|
AW: Schrift Größe
und wenn ich meine Memo componente so breit machen will wie eine Din A 4 seite dann muss sie also 1 durch 0,35147 = 2,84519 und des dann mal meine breite von 210 ist dann die breite der memo componente stimmt das
|
AW: Schrift Größe
Zitat:
Wenn Du einen Text auf eine bestimmte Breite drucken willst, also nicht die Höhe oder Zeichen per Einheit vorgibt, sondern die Breite des Ausdrucks und zwar nur exakt für diesen einen Text, dann kannst Du doch einfach per Einpassen die Schrift setzen. Alternativ eben auch für alle Textzeilen testen, welche die Längste ist, und mit den Einpaßwerten diese längsten Zeile (längste im Ausdruck in Breite in einer Längenmaßeinheit, nicht in Anzahl der Buchstaben) die anderen Zeilen auch drucken. |
AW: Schrift Größe
Hä (sry das ich nochmal darauf zurück komme, aber ich hatte grad viel um die Ohren)
also ich hab meinen Text in der Memo (Schriftgröße 12) und den möchte ich ausdrucken, Wie kann ich bei veränderbarer Schriftgröße die richtige Schrifthöhe an meinen drucker senden, Wie bekomme ich die Zeilenumbrüche an den Drucker gesendet, Wie setze bzw bekomme ich die "breite" einer Textzeile??? ich entschuldige mich falls ich meine fragen wiederhole aber iwie finde ich des voll komisch warum kann ich dem drucker nicht einfach sagen drucke das aus wenn die zeile länger is als das blatt füge eine zeile drunter ein???:?: vielen dank für eure Gedult mit mir :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 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