zoukankan      html  css  js  c++  java
  • (转)androd之绘制文本(FontMetrics)

    转:http://fonter.iteye.com/blog/474526

    Canvas 作为绘制文本时,使用FontMetrics对象,计算位置的坐标。

    它的思路和java.awt.FontMetrics的基本相同。

    FontMetrics对象

    它以四个基本坐标为基准,分别为:

    ・FontMetrics.top
    ・FontMetrics.ascent
    ・FontMetrics.descent
    ・FontMetrics.bottom

    该图片将如下

    Paint textPaint = new Paint( Paint.ANTI_ALIAS_FLAG);
    textPaint.setTextSize( 35);
    textPaint.setColor( Color.WHITE);

    // FontMetrics对象
    FontMetrics fontMetrics = textPaint.getFontMetrics();

    String text = "abcdefghijklmnopqrstu";

    // 计算每一个坐标
    float baseX = 0;
    float baseY = 100;
    float topY = baseY + fontMetrics.top;
    float ascentY = baseY + fontMetrics.ascent;
    float descentY = baseY + fontMetrics.descent;
    float bottomY = baseY + fontMetrics.bottom;

    // 绘制文本
    canvas.drawText( text, baseX, baseY, textPaint);

    // BaseLine描画
    Paint baseLinePaint = new Paint( Paint.ANTI_ALIAS_FLAG);>
    baseLinePaint.setColor( Color.RED);
    canvas.drawLine(0, baseY, getWidth(), baseY, baseLinePaint);

    // Base描画
    canvas.drawCircle( baseX, baseY, 5, baseLinePaint);

    // TopLine描画
    Paint topLinePaint = new Paint( Paint.ANTI_ALIAS_FLAG);
    topLinePaint.setColor( Color.LTGRAY);
    canvas.drawLine(0, topY, getWidth(), topY, topLinePaint);

    // AscentLine描画
    Paint ascentLinePaint = new Paint( Paint.ANTI_ALIAS_FLAG);
    ascentLinePaint.setColor( Color.GREEN);
    canvas.drawLine(0, ascentY, getWidth(), ascentY, ascentLinePaint);

    // DescentLine描画
    Paint descentLinePaint = new Paint( Paint.ANTI_ALIAS_FLAG);
    descentLinePaint.setColor( Color.YELLOW);
    canvas.drawLine(0, descentY, getWidth(), descentY, descentLinePaint);

    // ButtomLine描画
    Paint bottomLinePaint = new Paint( Paint.ANTI_ALIAS_FLAG);
    bottomLinePaint.setColor( Color.MAGENTA);
    canvas.drawLine(0, bottomY, getWidth(), bottomY, bottomLinePaint);
  • 相关阅读:
    Fruit HDU
    排列组合 HDU
    XOR and Favorite Number CodeForces
    BZOJ-6-2460: [BeiJing2011]元素-线性基
    CDH 安装与部署
    Apache Hadoop集群搭建
    大数据架构与技术选型
    项目落实方案选择思考(KUDU)
    JAVA 高级篇
    大数据就业岗位
  • 原文地址:https://www.cnblogs.com/Jessy/p/2361603.html
Copyright © 2011-2022 走看看