Как эффективно рассчитать положение линии с помощью ширины штриха

Я использую JavaFX для проверки некоторых свойств графика. Но я пытаюсь рассчитать правильное положение линии в соответствии с шириной ее штриха. Если вы рисуете линию с помощью strokeWidth с помощью JavaFX, вы создаете линию, завернутую на определенную ширину.

Для абсолютного позиционирования становится трудно позиционировать вашу линию. Поэтому я хотел бы определить алгоритм для позиционирования линии вне координат или внутри координат. (я не говорю о свойстве strokeType)

Кто-нибудь знает алгоритм для этого, независимый от ориентации? Я использовал myPath.setStrokeLineCap(StrokeLineCap.BUTT);, чтобы избежать ширины конечной точки.

Но теперь мне нужно вычислить зазор, чтобы переместить мою линию за пределы координат или внутрь координат.


person PacDroid    schedule 17.11.2013    source источник


Ответы (1)


Я сделал попытку с тонкой линией (l1) и более жирной линией (l2): но мой код зависит от ориентации, мой метод расчета (добавление пробела) работает только для внешней левой строки...

    Line l1 = new Line();
    l1.setStartX(400);
    l1.setStartY(50);
    l1.setEndX(400);
    l1.setEndY(400);

    double sWidth1 = 1;
    double sWidth2 = 10;
    double ecart = sWidth2*0.5 + sWidth1;
    Line l2 = new Line();
    l2.setStartX(400+ecart);
    l2.setStartY(50);
    l2.setEndX(400+ecart);
    l2.setEndY(400);

    l2.setStroke(Color.WHITE);
    l2.setStrokeWidth(10);
    l2.setStrokeLineCap(StrokeLineCap.BUTT);
person PacDroid    schedule 17.11.2013