【问题标题】:Canvas & graphics context - how to change the shape of the brush画布和图形上下文 - 如何更改画笔的形状
【发布时间】:2017-10-18 18:16:27
【问题描述】:

当我有一个 GraphicsContext 对象并使用它在画布上绘制时:

scene.setOnMousePressed(event -> {
        graphicsContext.beginPath();
        graphicsContext.lineTo(event.getSceneX(), event.getSceneY());
        graphicsContext.stroke();
    });

    scene.setOnMouseDragged(event -> {
        graphicsContext.lineTo(event.getSceneX(), event.getSceneY());
        graphicsContext.stroke();
    });

它的绘图形状是一个正方形,也就是说,如果我只是单击而不移动鼠标,就会出现一个正方形。如何将其更改为圆形?

【问题讨论】:

  • @James_D 将线帽设置为 ROUND 并降低斜接限制似乎已经做到了。谢谢。
  • 如果@James_D 的回答对您有所帮助,请考虑通过单击旁边的复选标记来接受它。这有助于寻找类似解决方案的人知道这有一个有效的答案,并且可以稍微提升 James_D 的声誉。

标签: java canvas javafx uigraphicscontext


【解决方案1】:

你可以用

改变行尾的形状
graphicsContext.setLineCap(StrokeLineCap.ROUND);

您可能还想更改斜接限制,这(据我了解)会改变线在尖角周围的渲染方式。

graphicsContext.setMiterLimit(1);

请参阅documentation for stroke attributes

【讨论】:

    猜你喜欢
    • 2017-11-15
    • 2019-02-24
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多