Canvas#drawTextするときのメモ

どの値が何を表しているかよく忘れるのでメモ

原点


Canvas#drawText() に指定する座標はここになる。


文字の幅を取得するにはPaint#measureText(:String):floatを使う。

高さ

Top 一番上
Ascent 文字の上限
Leading 原点のyと同じ位置
Descent 文字の下限
Bottom 一番下

文字のそれぞれのy位置が取得できる。
Paint#getFontMetrics()で取得できるFontMetrixから、フィールドの値を取り出せる。
bottom - topをすれば高さが取得できる。

値(追記)

Paint.setTextSize(:int)に96を設定した場合のそれぞれの値
leadingは必ず0になる
他はleadingからの相対的な位置の差

top -100.59375
ascent -89.109375
leading 0.0
descent 22.640625
bottom 26.015625