Как нарисовать кривую Безье на холсте.У меня есть только начальная точка и конечная точка.Я хочу нарисовать линию от начальной точки до конечной точки.Как я могу это сделать?
Для этого вы можете использовать Path.quadTo() или Path.cubicTo(). Примеры можно найти в Примерах SDK (FingerPaint). В вашем случае вам просто нужно вычислить среднюю точку и затем передать ваши три точки на quadTo() ..
Path.quadTo()
Path.cubicTo()
quadTo()
Код для вас:
создать объект рисования только один раз (например, в конструкторе)
Paint paint = new Paint() { { setStyle(Paint.Style.STROKE); setStrokeCap(Paint.Cap.ROUND); setStrokeWidth(3.0f); setAntiAlias(true); } }; final Path path = new Path(); path.moveTo(x1, y1); final float x2 = (x3 + x1) / 2; final float y2 = (y3 + y1) / 2; path.quadTo(x2, y2, x3, y3); canvas.drawPath(path, paint);
С помощью Path вы можете рисовать кубические и квадратичные кривые Безье.См. cubicTo() и quadTo()
Path
cubicTo()
Вам нужно установить цвет ... ваш код правильный и изменить x3,x3 на x3,y3 в quadTO().
x3,x3
x3,y3
quadTO()