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