关闭

Paint类measureText与getTextBounds的区别

标签: Paint
3876人阅读 评论(0) 收藏 举报
分类:


转载地址:http://stackoverflow.com/questions/7549182/android-paint-measuretext-vs-gettextbounds


在使用Canvas绘制文字时,需要得到字符串的长度,Paint类内给了两个方法,measureText(),getTextBound();

可是对于同于字符串两个方法得出来的值有些差别:


getTextBounds() 得到的宽度总是比 measureText() 得到的宽度要小一点。

就查看方法的源码

getTextBounds():


measureText():




额,只能看出两种方法测量的方式不一样,getTextBounds()使用了nativeGetCharArrayBounds();measureText()使用了native_measureText().

然而并不能解决疑问,就上网搜。运气不错,有位大神详细的回答了。

下面贴出重点:

enter image description here

This is font size 60, in red is bounds rectangle, in purple is result of measureText.

It's seen that bounds left part starts some pixels from left, and value of measureText is incremented by this value on both left and right. 


1
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6824次
    • 积分:130
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:10篇
    • 译文:0篇
    • 评论:0条
    文章分类