0

我对路径类的问题感到震惊,该路径类用于使用canvas.drawPath(path,paint)函数在画布上绘制平滑线。path.quadTo()Path 类对于使用andcubeTo()函数平滑线条很有用。但它们不会让你画一条粗细不一的平滑线。我想在画布上绘制一条路径,厚度增加到一定的阈值宽度,然后在最后变薄。我也尝试在用户的每个触摸点使用多个路径,但是当用户快速移动手指时会失败,因为那时获得了一条很长的路径。请帮帮我,我在这方面遇到了大麻烦。有没有其他平滑线条的方法。

谢谢你

4

2 回答 2

0

我想你是在问如何改变Path使用该canvas.drawPath()方法绘制的宽度。以下代码片段应该可以帮助您:

private Paint myPaint;
myPaint.setStyle(Paint.Style.STROKE);
myPaint.setStrokeJoin(Paint.Join.ROUND);
myPaint.setStrokeCap(Paint.Cap.ROUND);
if(someFlag != thresholdValue)
   myPaint.setStrokeWidth(20);
else
   {
        myPaint.setStrokeWidth(someReducedValue); // or have a counter updated in your thread to regularly decrement the value
   }

//..

..//

canvas.drawPath(path, myPaint); // inside onDraw() where path corresponds to your Path variable
于 2012-05-29T14:39:56.597 回答
0

正确的方法是使用 PathMeausre 类,我们可以轻松地从当前路径获取子路径并相应地对其进行操作。当我完成代码时,我会尽快发布代码片段。

于 2012-06-02T05:53:18.990 回答