Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#5

AW: Drucker liefert unterschiedliche Fontgrößen

  Alt 4. Nov 2011, 12:27
Es hat nicht jeder Drucker die gleiche Auflösung.
Damit WINDOWS auf allen Geräten gleich gut druckt, wurde das GDI erfunden...

http://directtools.de/wissen/drucker...reiber_gdi.htm

DELPHI hinkt da hinterher.

Mit GetDeviceCaps holst du dir die Eigenschaften eines Gerätes, in deinem Beipsiel von deinem Drucker.
Wenn du z.B. Millimetergenau drucken willst, musst du ermitteln wieviele Pixel/mm Auflösung der Drucker hat. GetDeviceCaps ist eine Windows-API-Funktion.
http://www.delphipraxis.net/116774-b...he-pixeln.html
.
http://www.esanu.name/delphi/Hardwar...t%20sizes.html
.
http://www.google.com/codesearch#sea...ceCaps&type=cs
.
Delphi-Quellcode:
Type
  TPageInfo = record
    width, height: Integer; { physical width and height, in dots }
    offsetX, offsetY: Integer;{ nonprintable margin, in dots }
    resX, resY: Integer; { logical resolution, dots per inch }
  End;

Procedure GetPageinfo( Var info: TPageInfo; index: Integer = -1 );
  Begin
    If index > -1 Then
      Printer.PrinterIndex := index;
    With Printer Do Begin
      info.resX := GetDeviceCaps( handle, LOGPIXELSX );
      info.resY := GetDeviceCaps( handle, LOGPIXELSY );
      info.offsetX := GetDeviceCaps( handle, PHYSICALOFFSETX );
      info.offsetY := GetDeviceCaps( handle, PHYSICALOFFSETY );
      info.width := GetDeviceCaps( handle, PHYSICALWIDTH );
      info.height := GetDeviceCaps( handle, PHYSICALHEIGHT );
    End; { With }
  End;

Geändert von hathor ( 4. Nov 2011 um 12:50 Uhr)
  Mit Zitat antworten Zitat