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
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
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 15:48 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