• 一起Talk Android吧(第四百一十一回:绘制文字)



    各位看官们,大家好,上一回中咱们说的例子是"间接绘制几何图形",这一回咱们介绍的例子是" 绘制文字"。闲话休提,言归正转,让我们一起Talk Android吧!

    看官们,我们在本章回中主要介绍如何绘制各种文字。通常情况下我们可以直接使用TextView来显示文字,不过在一些特殊的场景下需要专门对文字做处理,此时我们就需要去绘制文字。比如各种五颜六色的文字无法在一个TextView中显示出来,此时需要需要去绘制文字。

    画正常文字

    使用canvas.drawText()方法,可以绘制正常的文字,通过画笔可以设置字体大小,颜色,加粗、倾斜。下面是一个使用示例:

    canvas.drawText("hello",100,300,mTextPaint);
    
    • 1

    上面的代码中会以(100,300)这个点为起点绘制"hello字体",字体的大小和颜色等与参数中的mTextPaint有关。

    画空心文字

    我们对画笔进行了设置,主要通过setStyle()方法修改了画笔的填充方式,这样可以画出空心字体,此外,我们设置了字体的大小,这样只是为了突出空心效果。

    mTextPaint = new Paint();
    mTextPaint.setColor(Color.WHITE);
    mTextPaint.setTextSize(60);
    mTextPaint.setStyle(Paint.Style.STROKE);
    canvas.drawText("hello",100,300,mTextPaint);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    画环绕文字

    使用drawTextOnPath方法可以绘制环绕文字,比如倾斜或者圆形文字(印章)。绘制这类文字时首先需要绘制好路径。然后在路径上画文字。下面是一个示例程序:

    //在路径中添加圆形,并且绘制路径
    path.addCircle(200,300,100, Path.Direction.CCW);
    canvas.drawPath(path,mArcPaint);
    //沿着路径画文字
    canvas.drawTextOnPath("hello",path,10,60,mTextPaint);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    此代码运行后会得到一个环绕圆环的文字,代码中的drawTextOnPath包含三个参数,前两个参数不用解释,第3个参数表示文字距离x轴的距离,第4个参数表示文字距离y轴的距离,最后一个参数是画笔。

    画太阳

    画太阳的思路借用了画环绕文字的思路,我们先画了一个圆,然后围绕这个圆画环绕文字,不过文字比较特殊:一连串的的竖线。圆环表示太阳中心,这些竖线表示太阳发出的光线。下面是示例代码:

    //在路径中添加圆形,并且绘制路径
    path.addCircle(200,300,100, Path.Direction.CCW);
    canvas.drawPath(path,mArcPaint);
    canvas.drawTextOnPath("|  |  |  |  |  |  |  |  |  |  |  |  |  |",path,0,60,mTextPaint);
    
    • 1
    • 2
    • 3
    • 4

    看官们,关于Android中"绘制文字"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

  • 相关阅读:
    Sql Server Report Service 使用简单说明
    密码学-密码协议之零知识证明
    【OnlyOffice】 桌面应用编辑器,版本8.0已发布,PDF表单、RTL支持、Moodle集成、本地界面主题
    应急响应-web
    五个好习惯,助你顺利成长
    我的创作纪念日
    c# iis Oracle链接
    LAMP是linux+apache+mysql+php的简称
    Django channel 解析
    SpringMVC+入门案例
  • 原文地址:https://blog.csdn.net/talk_8/article/details/127793256