3

我有一个名为 MyView 的类,它扩展了 View..在我的选项菜单中,我有四种颜色。

我想要的是当我选择绿色并在画布上绘制路径时,它应该绘制绿色路径,当我选择红色时,它应该绘制红色路径,而之前的绿色应该是原样......

我在绘制多种颜色的多条路径方面取得了成功,但一次只有一种颜色在画布中保存..那么我该怎么做才能在画布上绘制多种颜色的路径?

4

1 回答 1

1

我这样做的方法是通过子类化路径来存储颜色和路径:

    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();
于 2013-02-20T13:48:31.657 回答