Canvas.drawText()方法的xy坐标理解

理解

笔者某一天在用到这个方法的时候,遇到了些预料之外的事情,特别是对y坐标的理解,大家可以先看下这个问题:

问题:Canvas.drawText("hello world", x, y, paint);中x、y是指画的时候字符串“hello world”中心的坐标,还是左上角的坐标呢?

答案:x默认是“hello world”字符串的左边在屏幕的位置,如果设置了paint.setTextAlign(Paint.Align.CENTER);那就会变成字符串的中心;y是指这个字符串的baseline在屏幕上的位置,特别注意下它并不是传统意义上的左上角(在这里是字符串的顶端),而是字体绘制时的baseline,如下图:

今天特意将这个问题记录下,提醒自己,或许也能帮到别人。

你可能感兴趣的:(Canvas.drawText()方法的xy坐标理解)