Рисование нескольких контуров на холсте Android
У меня есть один класс с именем MyView, который расширяет вид. В моем меню параметров у меня есть четыре типа цвета.
То, что я хочу, это когда я выбираю зеленый и рисую путь на холсте, он должен рисовать зеленый путь, а когда я выбираю красный, он должен рисовать красный путь, а предыдущий зеленый должен быть таким, какой он есть...
Я добился успеха в рисовании нескольких контуров разных цветов, но в одно время на холсте удерживается только один цвет... так что я могу сделать, чтобы нарисовать несколько контуров на холсте??
1 ответ
Способ, которым я это сделал, - сохранить цвет вместе с путем путем создания подкласса Path:
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();