我对路径类的问题感到震惊,该路径类用于使用canvas.drawPath(path,paint)
函数在画布上绘制平滑线。path.quadTo()
Path 类对于使用andcubeTo()
函数平滑线条很有用。但它们不会让你画一条粗细不一的平滑线。我想在画布上绘制一条路径,厚度增加到一定的阈值宽度,然后在最后变薄。我也尝试在用户的每个触摸点使用多个路径,但是当用户快速移动手指时会失败,因为那时获得了一条很长的路径。请帮帮我,我在这方面遇到了大麻烦。有没有其他平滑线条的方法。
谢谢你
我对路径类的问题感到震惊,该路径类用于使用canvas.drawPath(path,paint)
函数在画布上绘制平滑线。path.quadTo()
Path 类对于使用andcubeTo()
函数平滑线条很有用。但它们不会让你画一条粗细不一的平滑线。我想在画布上绘制一条路径,厚度增加到一定的阈值宽度,然后在最后变薄。我也尝试在用户的每个触摸点使用多个路径,但是当用户快速移动手指时会失败,因为那时获得了一条很长的路径。请帮帮我,我在这方面遇到了大麻烦。有没有其他平滑线条的方法。
谢谢你
我想你是在问如何改变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
正确的方法是使用 PathMeausre 类,我们可以轻松地从当前路径获取子路径并相应地对其进行操作。当我完成代码时,我会尽快发布代码片段。