Javafx 清除描边矩形
Javafx clear stroking rectangle
我是 javaFX 的新手,想尝试一个简单的应用程序。
我有一个带有 Canvas 的应用程序,我画了一个矩形,但我无法正确擦除它的边框。
我是这样处理的:
Canvas canvas = new Canvas(WIDTH, HEIGHT);
GraphicsContext g = canvas.getGraphicsContext2D();
g.setFill(colorBackground);
g.fillRect(0, 0, WIDTH, HEIGHT);
g.setStroke(Color.BLACK);
g.strokeRect(200, 200, 10, 10);
g.setStroke(colorBackground);
g.strokeRect(200, 200, 10, 10);
但我仍然有一个灰色的矩形,而不是什么都没有。我不明白为什么我有这个。
也许我用错了Canvas什么的..
colorBackground
是灰色的吗?那么问题是你没有擦除任何东西。要清除 canvas,请使用 GraphicsContext#clearRect
。然后你可以像这样擦除你的矩形(或整个 canvas):
g.clearRect(200, 200, 10, 10);
请注意,这将用透明颜色清除所需的矩形,而不是您指定的 colorBackground
。要模拟彩色背景,您可以在 Canvas
后面放置一个不透明的 Node
(例如另一个 Canvas
),这样透明度会使彩色 "background" 节点可见。
我是 javaFX 的新手,想尝试一个简单的应用程序。
我有一个带有 Canvas 的应用程序,我画了一个矩形,但我无法正确擦除它的边框。
我是这样处理的:
Canvas canvas = new Canvas(WIDTH, HEIGHT);
GraphicsContext g = canvas.getGraphicsContext2D();
g.setFill(colorBackground);
g.fillRect(0, 0, WIDTH, HEIGHT);
g.setStroke(Color.BLACK);
g.strokeRect(200, 200, 10, 10);
g.setStroke(colorBackground);
g.strokeRect(200, 200, 10, 10);
但我仍然有一个灰色的矩形,而不是什么都没有。我不明白为什么我有这个。
也许我用错了Canvas什么的..
colorBackground
是灰色的吗?那么问题是你没有擦除任何东西。要清除 canvas,请使用 GraphicsContext#clearRect
。然后你可以像这样擦除你的矩形(或整个 canvas):
g.clearRect(200, 200, 10, 10);
请注意,这将用透明颜色清除所需的矩形,而不是您指定的 colorBackground
。要模拟彩色背景,您可以在 Canvas
后面放置一个不透明的 Node
(例如另一个 Canvas
),这样透明度会使彩色 "background" 节点可见。