小编Luk*_*kas的帖子

JavaFX - 用箭头画线(画布)

我将此代码重写为 JavaFX 时遇到问题:

private final int ARR_SIZE = 8;

void drawArrow(Graphics g1, int x1, int y1, int x2, int y2) {
    Graphics2D g = (Graphics2D) g1.create();
    g.setPaint(Color.BLACK);

    double dx = x2 - x1, dy = y2 - y1;
    double angle = Math.atan2(dy, dx);
    int len = (int) Math.sqrt(dx * dx + dy * dy);
    AffineTransform at = AffineTransform.getTranslateInstance(x1, y1);
    at.concatenate(AffineTransform.getRotateInstance(angle));
    g.transform(at);

    g.drawLine(0, 0, len, 0);
    g.fillPolygon(new int[] { len, len - ARR_SIZE, len - ARR_SIZE, len }, new int[] { …
Run Code Online (Sandbox Code Playgroud)

javafx canvas

2
推荐指数
1
解决办法
3809
查看次数

标签 统计

canvas ×1

javafx ×1