问题描述
我有一些路径和一些文本和混凝土涂料,可以通过 drawTextOnPath 方法在画布上绘制它。如何计算路径上的长度?我需要它来计算 textScaleX 值。
解决方法
override fun onDraw(canvas: Canvas?) {
:
val message = "Hello World!"
val paintText = Paint().apply {
color = Color.BLACK
textSize = 3.0F * pathLength / message.length
}
val advanceWidths = FloatArray(message.length)
paintText.getTextWidths(message,advanceWidths)
val textWidth = advanceWidths.sum()
paintText.textScaleX = pathLength / textWidth
canvas?.drawTextOnPath(message,path,0.0F,paintText)
}