Einzelnen Beitrag anzeigen

marcibaer

Registriert seit: 27. Sep 2006
Ort: Inden
75 Beiträge
 
Delphi XE2 Professional
 
#12

AW: Drucker liefert unterschiedliche Fontgrößen

  Alt 8. Nov 2011, 11:06
Ich hab's jetzt folgendermassen gemacht:

Zu Beginn setze ich die folgenden Werte bzw. den folgenden Mode:
Delphi-Quellcode:
      GesamtHoehe := GetDeviceCaps(Handle, VERTSIZE)*10;
      Gesamtbreite := GetDeviceCaps(Handle, HORZSIZE)*10;
      SetMapMode(Handle, MM_TEXT);
Die Angaben, die ich den Druckroutinen übergebe, sind in 0.1mm angrgeben, umgerechnet werden sie dann in Pixel:
Delphi-Quellcode:
FUNCTION XPosition(const x:Integer):Integer;
BEGIN
  Result := Trunc(x * Printer.PageWidth / Gesamtbreite);
END;

FUNCTION YPosition(const y:Integer):Integer;
BEGIN
  Result := Trunc(y * Printer.PageHeight / Gesamthoehe);
END;

FUNCTION XWidth(const x:Integer):Integer;
BEGIN
  Result := Trunc(x / (Printer.PageWidth / Gesamtbreite));
END;

FUNCTION YHeight(const y:Integer):Integer;
BEGIN
  Result := Trunc(y / (Printer.PageHeight / Gesamthoehe));
END;
Scheint soweit zu funktionieren.
Marc
  Mit Zitat antworten Zitat