Javafx清晰抚摸长方形

时间:2017-02-28 16:54:18

标签: canvas javafx stroke

我是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错误或其他东西..

1 个答案:

答案 0 :(得分:0)

colorBackground是灰色的吗?那么问题是你没有删除任何东西。要清除画布,请使用GraphicsContext#clearRect。然后你可以像这样擦除你的矩形(或整个画布):

g.clearRect(200, 200, 10, 10);

请注意,这会清除所需的透明色矩形,而不是指定的colorBackground。要模拟彩色背景,您可以在Node后面放置一个不透明的Canvas(例如另一个Canvas),以便透明度使其变为彩色背景"节点可见。