我对JavaFx中的Canvas有一个非常令人尴尬的简单问题。
我需要实现琐碎的绘画/擦除工具,并且我已经使用了绘画工具,但我无法使用该工具。
我已经尝试了clip()
和clearRect()
,但在我的案例中没有做任何事情......不确定我在那里做错了什么。
但是,理想情况下,我希望擦除工具的工作方式与绘图工具相同(只需要更大的笔划),而不是clearRect()
- 方法。我可以通过混合模式或其他方式实现这一目标吗?
这是我目前的代码:
canvas.setOnMousePressed(e -> {
if (e.getButton() == MouseButton.PRIMARY) {
if (erasing) {
} else {
gfx.beginPath();
gfx.moveTo(e.getX(), e.getY());
gfx.stroke();
}
e.consume();
}
});
canvas.setOnMouseDragged(e -> {
if (e.getButton() == MouseButton.PRIMARY) {
if (erasing) {
} else {
gfx.lineTo(e.getX(), e.getY());
gfx.stroke();
}
e.consume();
}
});