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;