如何使图形打印在纸张中间?(100分)

W

wengmxj

Unregistered / Unconfirmed
GUEST, unregistred user!
通过printersetupdialog设置纸张,想实现的结果是,无论多大的纸张都能使图形打印在纸张
中间,请求原码?
 
用实际纸张的height,width 减图形的大小 再div 2,就是left top,不要再问详细了,
自己慢慢琢磨
 
试一试这段代码:注意C:/Program Files/Common Files/Borland Shared/Images/Splash/256color/factory.bmp这一句,看你的图形文件放在什么地方,必须改
procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap:TBitmap;
H,W:integer;//
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile('C:/Program Files/Common Files/Borland Shared/Images/Splash/256color/factory.bmp');
finally
Bitmap.Free;
end;
H:=(Printer.PageHeight-Bitmap.Height) div 2;
W:=(Printer.PageWidth-bitmap.Width) div 2;
Printer.begin
Doc;
Printer.Canvas.Draw(W,H,Bitmap);
Printer.EndDoc;
end;
 
顶部