Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
Delphi 10.4 Sydney
|
Drucken mit MM_TEXT
23. Feb 2017, 17: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 17:24 Uhr)
|