我有以下代码在画布上绘制正方形,如果填充颜色是透明的,则覆盖原始像素。
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.clearRect(x * size, y * size, size, size);
gc.fillRect(x * size, y * size, size, size);
然而,绘制9个方格的结果是这样的:
而不是我期望的以下
看起来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);
我找不到文档中的信息来证明我的更正。为什么原始代码不能按预期工作但修正有效?