【问题标题】:How to compute length of the text on the path?如何计算路径上文本的长度?
【发布时间】:2021-08-20 15:56:33
【问题描述】:

我有一些路径和一些文本和具体的油漆,可以通过 drawTextOnPath 方法在画布上绘制它。如何计算路径上的长度?我需要它来计算 textScaleX 值。

【问题讨论】:

    标签: android canvas path paint drawtext


    【解决方案1】:

    试试Paint.getTextWidths()

    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, 0.0F, paintText)
    }
    

    【讨论】:

      猜你喜欢
      • 2021-06-18
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多