【发布时间】:2016-09-02 16:47:59
【问题描述】:
我有一个使用drawTextOnPath 在画布上绘制文本的函数。我计算了偏移量,一切正常,但我想以特定的方式绘制它。当前文本旋转偏移等于圆偏移。我想将文本旋转 90/45 度。但我不知道怎么做。
请有任何想法。
private void drawLegend(Canvas canvas) {
canvas.save(Canvas.MATRIX_SAVE_FLAG);
canvas.rotate(-228, centerX, centerY);
Path circle = new Path();
double halfCircumference = (radius * 2 * Math.PI) - ((radius * 2 * Math.PI) / 8) * 2;
double increments = 5;
for (int i = 0; i <= this.mMaxSpeed; i += increments) {
circle.addCircle(centerX, centerY, radius, Path.Direction.CW);
canvas.drawTextOnPath(String.format("%d", i),
circle,
(float) (i * halfCircumference / this.mMaxSpeed),
-20f,
scalePaint);
}
canvas.restore();
}
【问题讨论】:
-
我的做法是使用圆的函数计算画布位置并以这种方式绘制文本。
-
@eski 你能说得更具体点吗?可能是一些例子会有所帮助。
-
我有一个文本显示,就像您的第一张图片中显示的 5 一样。我希望它像您的第一张图片中显示的 25 一样显示。我该怎么做?