Printers(二) 画布Canvas定制

影响打印机实际打印位置的因素:打印机画布分辨率、打印机画布字体指定。

若想同样的打印信息,对任何打印机都适用布局不会发生变化,设置打印机位置时需要考虑。

// lpx,lpy,lxin,lyin : integer ;
// ll ,lt : integer ;
//lFont : string ;lFontSize :integer ;
BeginDoc ;
    Canvas.Font.Name := lFont ;    //设定字体名字
    Canvas.Font.Size := lFontSize ;//设定字体大小
    lpx := GetDeviceCaps(Canvas.Handle,LOGPIXELSX) ;
    lpy := GetDeviceCaps(Canvas.Handle,LOGPIXELSY) ;
    lxin := Round(lpx / 2.54) ; //表示水平向每CM的像素个数
    lyin := Round(lpy / 2.54) ; //表示竖直向每CM的像素个数
    ll := round( 1 * lxin); //表示距页面左侧1cm
    lt := round( 2 * lyin); //表示距页面顶上2cm
    //打印文字
    Canvas.TextOut(ll,lt ,'测试打印内容'); // 在页面左侧1cm,上2cm的位置开始打印内容
    //直线绘制
    ll := round( 1 * lxin); //表示距页面左侧1cm
    lt := round( 3 * lyin); //表示距页面顶上3cm
    Canvas.moveto(ll ,lt) ;
    ll := round( 4 * lxin); //表示距页面左侧4cm
    lt := round( 3 * lyin); //表示距页面顶上3cm
    Canvas.LineTo(ll ,lt) ;
    //图片打印 打印成指定大小 2cm*2cm
    lrect.Left := round(1 * lxin) ;
    lrect.Top := round(1* lyin) ;
    lrect.Right := lrect.Left + round( 2 * lxin ) ;
    lrect.Bottom := lrect.Top + round( 2 * lyin ) ;
    Canvas.StretchDraw(lrect,Gpic.Picture.Graphic);
EndDoc ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值