JavaFX clearRect清除给定区域之外的像素

时间:2017-12-08 12:00:49

标签: java canvas javafx paint

我有以下代码在画布上绘制正方形,如果填充颜色是透明的,则覆盖原始像素。

GraphicsContext gc = canvas.getGraphicsContext2D();
gc.clearRect(x * size, y * size, size, size);
gc.fillRect(x * size, y * size, size, size);

然而,绘制9个方格的结果是这样的:

malfunction result

而不是我期望的以下

expected result

看起来clearRect影响顶部的额外行和左侧的额外列而不是drawRect。如果我使用这些代码,那么它可以正常工作。

GraphicsContext gc = canvas.getGraphicsContext2D();
gc.clearRect(x * size + 1, y * size + 1, size - 1, size - 1);
gc.fillRect(x * size, y * size, size, size);

我找不到文档中的信息来证明我的更正。为什么原始代码不能按预期工作但修正有效?

0 个答案:

没有答案