Canvas.drawText为较小的文本尺寸(1px)添加额外的字母空间

时间:2019-02-04 08:16:25

标签: android android-canvas textview

我在缩放的画布上使用Canvas.drawText()绘制了一些短文本。文本具有不同的大小,可以动态计算。有些文字的尺寸很小(1-2像素)。问题是,如果文本大小小于〜2px,则画布会在字符之间添加额外的空间。

示例:
文字大小4像素,常规字母空间:
4px

文字大小为1px,添加了额外的字母空间:
1px

代码示例:

canvas.save()
canvas.scale(8f, 8f)
paint.textSize = 1f
canvas.drawText("66", x, y, paint)        
canvas.restore()

1 个答案:

答案 0 :(得分:0)

我找到了解决方案(科特琳):

paint.isLinearText = true
paint.isSubpixelText = true