打印页边距问题 (100分)

  • 主题发起人 主题发起人 hophy
  • 开始时间 开始时间
H

hophy

Unregistered / Unconfirmed
GUEST, unregistred user!
用printer.pageWidth取得打印纸宽为2475,现有一幅画放在一个类型为TBitmat的对象
bmp中,bmp.width=2470,用printer.canvase.draw(0, 0, bmp)语句打印该画,却总不
能从纸张的顶格打起(打印机设置中的‘不可打印区域’中的‘左’,‘上’均已设为
0,而且画的右边部分也打印不出来。请问如何解决这两个问题,谢谢!
 
送纸
自动选择
 
下面的函数可以取得可以打印的偏移,注意左、右 和 上、下都要减去下面的数据
GetDeviceCaps(Printer.Canvas.Handle,PHYSICALOFFSETX)
GetDeviceCaps(Printer.Canvas.Handle,PHYSICALOFFSETY)
另外,上面的函数需要在Printer.begin
Doc 之后才能用
 
var
ppix,ppiy,leftmargin,topmargin:integer;
begin
leftmargin:=trunc(strtofloat('0')/2.54*ppix);
topmargin:=trunc(strtofloat('0')/2.54*ppiy);
printer.canvase.draw(leftmargin,topmargin, bmp)
 
大家都只提取得打印边距的方法,有没有设置打印边距的办法
 
取得页边距,打印时x,y分别减去页边距!!然后输出!!
 
后退
顶部