今日头条文字渐变特效项目实战(一):文字绘制

本文介绍了使用Java的Paint和Shader绘制文字特效,重点解析文字基线的概念,包括基线的计算方法和如何将文字绘制到中心。通过对Paint.FontMetrics的理解,详细阐述了文字的六条关键线的计算过程,为实现文字特效打下基础。

前言

上篇文章介绍了一些使用Paint和Shader结合实现的一些特效,不过都是一些图像绘制方面的,当然,Paint除了能够进行图像绘制之外,还有另外一个功能,就是文字的绘制

当然,在学习Paint绘制文字之前,最好能够熟悉一些Paint绘制文字的api这是Paint绘制文字的常用api说明

1 文字的基线

说到文字绘制,先从一个api说起

drawText(@NonNull String text, float x, float y, @NonNull Paint paint)

这是一个常用的绘制文字的办法,可能有朋友会遇到,在使用这个方法绘制文字的时候,文字的位置经常不对,不是高了,就是低了,这就是由于这个api中的x和y造成的

看图说明

image

在我们绘制文字的时候,通常有上图中的六条线,分别是

  1. top:顶点线
  2. ascent:建议顶点线
  3. center:中心线
  4. baseline:基线
  5. descent:建议底部线
  6. bottom:底部线

这六条线分别起什么作用呢?

  • 首先是top和bottom,这两条线很好理解,它分别是顶端和底端,绘制文字时肯定不会超过这两条线
  • 然后是ascent和descent,这两条线是建议的顶点线和建议底端线,一般情况我们绘制文
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值