【问题标题】:Javafx clear stroking rectangleJavafx 清除描边矩形
【发布时间】:2017-02-28 16:54:18
【问题描述】:

我是 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 什么的..

【问题讨论】:

    标签: canvas javafx stroke


    【解决方案1】:

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

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

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

    【讨论】:

    • 我的背景颜色实际上是白色,我尝试使用 clearRect 但没有成功。
    • 它可以与背景画布一起使用,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-07-25
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2021-10-22
    • 1970-01-01
    相关资源
    最近更新 更多