打印图片超过纸张大小怎么设置换页?

dageming 2007-07-04 05:49:10
我想把一个图片在打印的范围是宽75厘米,高21厘米的纸上,结果在A4纸上总是出来一半,不会换页。怎么设置换页?代码如下:
pixels := screen.PixelsPerInch;
w:=round(75*pixels*2.4);
h:=round(21*pixels*2.4);
printer.Orientation:=poLandscape;
SetPaperSize(7500,2100);
scalex:=round(w/image1.Width);
scaley:=round(h/image1.Height);

printer.BeginDoc;
printer.Canvas.StretchDraw(rect(0,0,w,h), FBackJpg);
for i:=0 to high(FFontBmp) do
with FFontBmp[i].Rec do
printer.Canvas.StretchDraw(rect(Left*scalex,top*scaley,Right*scalex,Bottom*scaley),FFontBmp[i].Bmp);
printer.EndDoc;
...全文
790 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
noall 2007-07-06
  • 打赏
  • 举报
回复

计算出纸的宽度和高度.printer.PageWidth, printer.PageHeight

再计算图的宽度和高度

就可以自己分页了
dageming 2007-07-06
  • 打赏
  • 举报
回复
俺这是图片,咋计算多少行啊,还有啊,SetPaperSize(7500,2100)好象没起什么作用
logne 2007-07-06
  • 打赏
  • 举报
回复
自己手动分页了,计算下A4纸需要几张,每张上打印多少行,
到了改换页的时候,newpage一下,在打印
dageming 2007-07-06
  • 打赏
  • 举报
回复
没人回啊,分少吗
logne 2007-07-06
  • 打赏
  • 举报
回复
图的高度和宽度就是像素的行数,把图片分块,然后每页打印一块

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧