我有一个名为 MyView 的类,它扩展了 View..在我的选项菜单中,我有四种颜色。
我想要的是当我选择绿色并在画布上绘制路径时,它应该绘制绿色路径,当我选择红色时,它应该绘制红色路径,而之前的绿色应该是原样......
我在绘制多种颜色的多条路径方面取得了成功,但一次只有一种颜色在画布中保存..那么我该怎么做才能在画布上绘制多种颜色的路径?
我这样做的方法是通过子类化路径来存储颜色和路径:
private class DrawingPath extends Path
{
public DrawingPath(float w, int c)
{
Width = w;
Color = c;
}
public float Width;
public int Color;
}
然后,当我绘制每条路径时,我预先设置了颜色。
如您所见,您还可以使用此代码设置宽度,以便您可以更改每个路径的笔触宽度。
为了画这个,我使用了:
mCanvas.drawColor(Color.WHITE);
for (DrawingPath p : mPaths)
{
mPaint.setColor(p.Color);
mPaint.setStrokeWidth(p.Width);
mCanvas.drawPath(p, mPaint);
}
invalidate();