android drawtext 之baseline

在android中绘制文本的方法如下

 drawText( String text,   floatx,  floaty,  Paint paint)

其中floatx和floaty并不是表示为左上角左边 ,floatx表示字符串绘制的起始x坐标, floaty则是下图baseline位置坐标,而不是顶部坐标

下面给出计算baseline的方法

public int getBaseLine(int y, Paint mPaint) {

        Paint.FontMetrics fontMetrics = mPaint.getFontMetrics();

        floattop = fontMetrics.top;//为基线到字体上边框的距离,即上图中的top

        floatbottom = fontMetrics.bottom;//为基线到字体下边框的距离,即上图中的bottom

        return(int) (y + mPaint.getTextSize() /2- top /2- bottom /2);//基线中间点的y轴计算公式

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概述 1. 四线格与基线 小时候,我们在刚开始学习写字母时,用的本子是四线格的,我们必须把字母按照规则写在四线...
    addapp阅读 7,789评论 2 17
  • 版权声明:本文为博主原创文章,未经博主允许不得转载 前言 Canvas 本意是画布的意思,然而将它理解为绘制工具一...
    cc荣宣阅读 41,650评论 1 47
  • 某位苏联的剧作家曾说过,世界上的故事无非两种:一个人的故事,或,一群人的故事。就像唐人写尽了诗,希区柯克故事集几乎...
    AshTsang阅读 99评论 0 0
  • 看起来不起眼的公司,主要是做的APP是检测蓝牙设备的,面试题很用心的出了多达四页之多,佩服!!! 好吧,答题开始 ...
    Miu七七阅读 2,897评论 7 17
  • 成千上万的公司 财大气粗的实力 眼花缭乱的信息 充满挑战的前景 相互关心的同事 安逸舒适的环境 收入可观的薪资 一...
    慕星读者OR独者阅读 149评论 0 0