怎样实现在A4纸上(不失图片比例)打印扫描文件,望有经验的高手指教,谢谢(100分)

L

loutian

Unregistered / Unconfirmed
GUEST, unregistred user!
标题即为内容
 
用GetDeviceCaps(Printer.Handle, LOGPIXELSX);
GetDeviceCaps(Printer.Handle, LOGPIXELSY);可得到打印机的分辩率。
再用Printer.Canvas.StretchDraw(const Rect: TRect; Graphic: TGraphic);
把Rect的数值按原图比例、以及打印机的分辩率计算得出。
分辩率的单位为:dpi(点/英寸)
屏幕分辩率为72dpi, 1 英寸=25.4 毫米
 
要想省事的话,在报表控件上加上一个image
设置1:1比例,就可以了
 
比较Image1.width与printer.width,按比例放大图象,然后用print.canvas.strchdraw放大
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部