使用drawTextOnPath时如何旋转以直线(无半径)绘制的文本? [英] How to rotate text drawn in a straight line (without radius) when using drawTextOnPath?

查看:335
本文介绍了使用drawTextOnPath时如何旋转以直线(无半径)绘制的文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要旋转画布中的数字,

I want to rotate the numbers in canvas,

这是我尝试过的:

override fun onDraw(canvas: Canvas) {    
var i = 0
while (i < rulerHeightInInch) {
val markingPositionYaxis =
            screenHeightInPx - (ydpinch * i + topThreshold)
paint.textSize = getPixelValueForDp(18.0f)
                    val path = Path()
                    path.reset()
                    path.moveTo(
                        (getPixelValueForDp(30f) + paint.textSize),
                        markingPositionYaxis +17
                    )
                    path.lineTo(
                        (getPixelValueForDp(30f) + paint.textSize),
                        markingPositionYaxis - (paint.textSize)
                    )
                    canvas.drawTextOnPath(nf.format(i / 32), path, 0f, 0f, paint)
}
i++
}
}

第一张图片就是我现在拥有的

First image is what I have right now

第二张图片就是我想要的

Second image is what I want

我不想绘制圆形路径,也不想使用想要从上到下的直线半径

I don't want to draw in circular path or by using radius I want from top to bottom in a straight line

推荐答案

这是我的方法:

canvas.save()
canvas.rotate(180f,(getPixelValueForDp(30f) + paint.textSize),markingPositionYaxis)
canvas.drawTextOnPath(nf.format(i / 32), path, 0f, 0f, paint)
canvas.restore()

这篇关于使用drawTextOnPath时如何旋转以直线(无半径)绘制的文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆