HTML5 Canvas 禁用完美绘制提示
在某些情况下,在画布上绘图可能会出现意想不到的效果。 例如,让我们绘制一个带有填充、描边和不透明度的形状。 由于描边在填充之上绘制,形状内部会出现一条描边宽度一半的线条,这是较深的颜色 因为这是填充和描边的交集部分。
这可能不是你所期望的。因此,Konva
使用缓冲画布来修正此类行为。
在这种情况下,Konva
会执行以下步骤:
- 在缓冲画布上绘制形状
- 在不应用不透明度的情况下填充和描边
- 在图层画布上应用不透明度
- 最后在图层画布上绘制缓冲画布的结果
但使用缓冲画布可能会降低性能。因此,你可以禁用此类修正:
shape.perfectDrawEnabled(false);
如下图所示的效果差异:
- Vanilla
- React
- Vue