Android画图drawText 技巧

(一)Android的字体结构图

 

 

QQ20130603-18.png

 



为了说明,这里引用辅助线baseline=0,画文字的y坐标
top:文字的最顶端离baseline的距离(ascent的极限距离负数)
ascent:文字的上端离baseline的距离(负数)
descent:文字的下端离baseline的距离(正数)
bottom:文字最下端的距离(descent的极限距离正数)
lead:上行文字descent到下行ascent的距离
 

(三 ) 绘图位置应用

 1 . 参数x与参数paint的关系:
要点1:Canvas的文本绘制是根据字符串原点(origin)进行定位。
要点2:Canvas的字符串原点受Paint的textAlign影响。

 

条件

现象

Paint.setTextAlign(Paint.Align.CENTER)

x以字符串水平中间位置的为原点(origin)

Paint.setTextAlign(Paint.Align.LEFT)

x以字符串水平最左位置的为原点(origin)

Paint.setTextAlign(Paint.Align.RIGHT)

x以字符串水平最右位置的为原点(origin)

   2 ,  绘制 文字纵向的控制: 

     假定要参考的纵坐标为 y0 ;

    1,居中 y0 - fm.descent + ( fm.bottom - fm.top ) / 2 ;

               2, 居上  y0 - fm.descent ;

               3,  居下    y0 - fm.ascent ;

 

 

 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值