@Lordao

Как заполнить цветом площадь между линиями в Android?

Есть код, который создаёт две кривые линии, которые протягиваются слева наверх. Как можно заполнить нужным цветом ту площадь, которая образовалась между ними c учетом того, что линии могут двигаться?

5d4323ce2e569709740839.png

public class DrawView extends View {

Paint paint;
Path path1 = new Path();
Path path2 = new Path();

public DrawView(Context context) {
    super(context);
    init();
}

public DrawView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

public DrawView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init();
}

private void init() {
    paint = new Paint();
    paint.setStyle(Paint.Style.STROKE);
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    path1.reset();
    path2.reset();

    paint.setColor(Color.RED);
    paint.setStrokeWidth(3);

    path1.moveTo(0, 750);
    path2.moveTo(0, 900);

    path1.cubicTo(185, 250, 599, 177, 585, 0);
    path2.cubicTo(350, 250, 750, 177, 900, 0);

    canvas.drawPath(path1, paint);
    canvas.drawPath(path2, paint);

 }
}
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Dmtm
Android
искать две точки по горизонтали, закрашивать горизонтальными линиями
для ускорения - своя реализация кубического сплайна, кеширование точек
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы