AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schrift Größe

Ein Thema von Finki · begonnen am 23. Jul 2013 · letzter Beitrag vom 8. Aug 2013
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#1

Schrift Größe

  Alt 23. Jul 2013, 16:37
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 vielen dank schon mal.

liebe Grüße Finki
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#2

AW: Schrift Größe

  Alt 23. Jul 2013, 16:59
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]
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Schrift Größe

  Alt 23. Jul 2013, 17:11
Printer.Canvas.Font.Height := -round(SchriftSize*Printer.Canvas.Font.PixelsPerInch/72); // [pt] -> [px]
warum durch 72
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#4

AW: Schrift Größe

  Alt 23. Jul 2013, 17:23
weil das das aus dem Verhältnis cm/inch ergibt. Punkt ist nunmal metrisch, dpi wie das i darin schon sagt. per inch.
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#5

AW: Schrift Größe

  Alt 23. Jul 2013, 18:59
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:
Verwenden Sie die Eigenschaft Height, wenn die Schriftgröße in Pixel angegeben werden muss.
Verwenden Sie die Eigenschaft Size, wenn die Schriftgröße in Punkt angegeben werden muss.
Zitat:
<TFont.Height Eigenschaft>
property Height: Integer; [Pixel]
Mit folgender Formel kann der Wert der Eigenschaft Height aus der Punktgröße ermittelt werden:
Font.Height := -Font.Size * Font.PixelsPerInch / 72;
Zitat:
<TFont.Size Eigenschaft>
property Size: Integer; [Punkt]
Mit folgender Formel kann der Wert der Eigenschaft Size aus der Höhe in Pixel ermittelt werden:
Font.Size := -Font.Height * 72 / Font.PixelsPerInch;

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.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Schrift Größe

  Alt 23. Jul 2013, 20:45
weil das das aus dem Verhältnis cm/inch ergibt. Punkt ist nunmal metrisch, dpi wie das i darin schon sagt. per inch.
Das Verhältnis cm/inch ist nicht 1/72, sondern 1/2.54.

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.
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#7

AW: Schrift Größe

  Alt 23. Jul 2013, 21:01
1 Pica Point = 0,35147 mm = 1/72,27 Inches <commentend>
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Schrift Größe

  Alt 26. Jul 2013, 15:58
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
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#9

AW: Schrift Größe

  Alt 26. Jul 2013, 16:20
.. also 1 durch 0,35147 = 2,84519
Wo bekommst Du denn diese Werte her? Meine Angabe zu Pica-Punkt beog sich doch auf Deine Frage, wo die 72 herkommen.

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.
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Schrift Größe

  Alt 31. Jul 2013, 12:32
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 09:45 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