Я рисую стрелку, выполняя следующее:
deltaX = this.mPoints[1].x - this.mPoints[3].x;
deltaY = this.mPoints[1].y - this.mPoints[3].y;
frac = (float) 0.1;
point_x_1 = this.mPoints[3].x + (1 - frac) * deltaX + frac * deltaY;
point_y_1 = this.mPoints[3].y + (1 - frac) * deltaY - frac * deltaX;
point_x_2 = this.mPoints[1].x;
point_y_2 = this.mPoints[1].y;
point_x_3 = this.mPoints[3].x + (1 - frac) * deltaX - frac * deltaY;
point_y_3 = this.mPoints[3].y + (1 - frac) * deltaY + frac * deltaX;
Path path = new Path();
path.setFillType(Path.FillType.EVEN_ODD);
path.moveTo(point_x_1, point_y_1);
path.lineTo(point_x_2, point_y_2);
path.lineTo(point_x_3, point_y_3);
path.lineTo(point_x_1, point_y_1);
path.lineTo(point_x_1, point_y_1);
path.close();
canvas.drawLine(this.mPoints[3].x, this.mPoints[3].y, this.mPoints[1].x, this.mPoints[1].y, this.mPaint);
canvas.drawPath(path, mPaint);
Вот результат, который я получаю:
Как вы можете видеть, линия, которую я рисую, торчит за наконечником стрелки.
Мой вопрос:
Как мне изменить то, что мне сейчас нужно, чтобы избежатьлиния из поля зрения стрелы.
Я пробовал path.offset(-30,30);
с различными значениями, но это не сработало, так как угол линии будет меняться каждый раз.