Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

Drucken mit MM_TEXT

  Alt 23. Feb 2017, 16:09
Hallo,
ich habe hier einen alten Quellcode,
da wird SetMapMode mit MM_TEXT gesetzt.

Wie bekomme ich jetzt bei gegebenen Millimeter denn den Wert,
den ich bei Printer.Canvas.Textout angeben muss.

Aus der Hilfe:
Eine virtuelle Einheit wird in einen (1) Geräte-Bildpunkt gewandelt.
Positive x sind rechts, positive y unten.

Das ist auch im Quellcode so.

Nehmen wir mal an, wir drucken mit 300 DPI (Punkt pro Zoll, also pro 2.54 mm)
1 Punkt sind 1/72 Zoll.

Ich stehe gerade völlig auf dem Schlauch ...



Umstellen auf MM_LOMETRIC will ich das nicht, um muss bloss ein paar Positionen ändern.

So kleines Update:
Die angegebenen Pixel stehen für 300 DPI, intern wird das mit Hilfe von GetDeviceCaps(Printer.Handle,LOGPIXELSX);
in die tatsächlichen Pixel umgerechnet.

Ich habe jetrzt aber z.B. den Wert 720, der ergibt im Ausdruck etwa 60 mm.
Heiko

Geändert von hoika (23. Feb 2017 um 16:24 Uhr)
  Mit Zitat antworten Zitat