Sunday, January 21, 2007

procedure TForm1.Button50Click(Sender: TObject);
const
X = 800;
Y = 600;
var
ScaleX, ScaleY : Integer;
RR : TRect;
begin
with Printer do
begin
BeginDoc;
try
ScaleX := GetDeviceCaps(Handle,logPixelsX) div PixelsPerInch;
ScaleY := GetDeviceCaps(Handle,logPixelsY) div PixelsPerInch;
RR := Rect(X, Y, Image1.picture.width * scaleX + X, Image1.Picture.Height * ScaleY + Y);
Canvas.StretchDraw(RR,Image1.Picture.Graphic);
finally
EndDoc;
end;
end;
end;
Konstanty X a Y určují polohu obrázku na stránce. V samotném kódu jsou jednak zjištěny parametry rozlišení tiskárny a na základě toho jsou přepočítány souřadnice na základě rozměrů obrázku.